PHP 字符串函数

PHP htmlspecialchars_decode()函数将预定义的 HTML 实体转换为字符,它用于HTML实体的解码。

解码的预定义字符关系为:

  • & 解码成 & (和号)
  • " 解码成 " (双引号)
  •  ' 解码成 ' (单引号)
  • &lt; 解码成 < (小于)
  • &gt; 解码成 > (大于)

htmlspecialchars_decode() 函数用于解码html实体,而 htmlspecialchars() 函数用于编码html实体,它们是一对反函数。

语法

htmlspecialchars_decode( $string,  $flags) ;

参数

  • string(必须):string是这个函数的第一个参数, 它是待解码的字符串。
  • flags(可选): flag 是此函数的第二个或最后一个参数,它包含一个或多个标志常量,用于说明如何处理引号,以及要使用的文档类型。默认情况下,它们是 ENT_COMPAT | ENT_HTML401。
下表中给出了可用的标志常量:
常量名称描述
ENT_COMPATENT_COMPAT 是默认参数,它只转换双引号,不转换单引号。
ENT_QUOTES它转换单引号和双引号。
ENT_NOQUOTES它不会转换任何引号,无论是单引号还是双引号。
ENT_HTML401它是默认参数,处理代码为 HTML 4.01。
ENT_XML1它将代码处理为 XML 1.
ENT_XHTML它将代码处理为 XHTML。
ENT_HTML5将代码处理为 HTML 5。

返回值

返回解码后的字符串。

更新日志

版本说明
5.4.0添加了常量 ENT_HTML401、ENT_HTML5、ENT_XHTML 和 ENT_XML1。

例子

下面是htmlspecialchars_decode()函数解码的例子。

<?php
$str = "This is some &lt;b&gt;bold&lt;/b&gt; text.";
echo htmlspecialchars_decode($str);
?>
输出:
This is some <b>bold</b> text.