字符串函数

PHP htmlspecialchars_decode() 函数

主题:PHP 字符串参考上一页|下一页

说明

htmlspecialchars_decode() 函数将特殊的 HTML 实体转换回它们对应的字符。 特殊的 HTML 实体是:

  • & 转换为 & (和号)
  • " 转换为 " (双引号),当 ENT_NOQUOTES 未设置时。
  • ' 转换为 ' (单引号),当 ENT_QUOTES 设置时。
  • &lt; 转换为 < (小于)
  • &gt; 转换为 > (大于)

此函数通常会反转 htmlspecialchars() 函数的效果。

下表总结了该函数的技术细节。

返回值: 返回解码后的字符串。
版本: PHP 5.1.0+

语法

htmlspecialchars_decode() 函数的基本语法如下:

htmlspecialchars_decode(string, flags);

以下示例显示了 htmlspecialchars_decode() 函数的作用。

<?php
// 示例字符串
$str = "The lions & tigers live in <b>dense</b> forest.";

// 编码字符串
$encoded_str = htmlspecialchars($str);
echo $encoded_str . "<br>";

// 解码字符串
$decoded_str = htmlspecialchars_decode($encoded_str);
echo $decoded_str;
?>

参数

htmlspecialchars_decode() 函数接受以下参数。

参数 说明
string 必填。 指定要解码的字符串。
flags

可选。 指定如何处理引号以及要使用的文档类型。

处理引号的可用标志常量是:

  • ENT_COMPAT –转换双引号,不转换单引号。
  • ENT_QUOTES –转换双引号和单引号。
  • ENT_NOQUOTES –不转换双引号和单引号。

用于指定文档类型的可用标志常量有:

  • ENT_HTML401 –将代码处理为 HTML 4.01。
  • ENT_HTML5 –将代码处理为 HTML 5。
  • ENT_XML1 –将代码处理为 XML 1。
  • ENT_XHTML –将代码处理为 XHTML。

此参数的默认值为 ENT_COMPAT | ENT_HTML401.


更多示例

这里有更多示例展示了 htmlspecialchars_decode() 函数的实际工作原理:

以下示例演示了使用此函数处理单引号和双引号。

<?php
// 示例字符串
$str = "I'll \"leave\" tomorrow.";

// 编码字符串
$encoded_str = htmlspecialchars($str, ENT_QUOTES);
echo $encoded_str; /* I&#039;ll &quot;leave&quot; tomorrow. */

// 只解码双引号
$a = htmlspecialchars_decode($encoded_str);
echo $a; /* I&#039;ll "leave" tomorrow. */

// 解码双引号和单引号
$b = htmlspecialchars_decode($encoded_str, ENT_QUOTES);
echo $b; /* I'll "leave" tomorrow. */
?>

但是,在浏览器中,您将始终看到字符串 I'll "leave" tomorrow. 查看示例输出的源代码(右键单击并选择查看页面源代码)以查看转换后的字符串 .

Advertisements