PHP字符串函数htmlspecialchars_decode( 把特殊HTML实体转换为普通字符)

在PHP中,字符串函数 htmlspecialchars_decode() 用于把字符转换为HTML实体。

    函数语法:

htmlspecialchars_decode ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 ] ) : string

    函数参数说明:  

参数 描述
string 必需。规定要解码的字符串。
flags 可选。规定如何处理引号以及使用哪种文档类型。

可用的引号类型:

  • ENT_COMPAT - 默认。仅解码双引号。

  • ENT_QUOTES - 解码双引号和单引号。

  • ENT_NOQUOTES - 不解码任何引号。

规定使用的文档类型的附加 flags:

  • ENT_HTML401 - 默认。作为 HTML 4.01 处理代码。

  • ENT_HTML5 - 作为 HTML 5 处理代码。

  • ENT_XML1 - 作为 XML 1 处理代码。

  • ENT_XHTML - 作为 XHTML 处理代码。

    htmlspecialchars_decode() 函数用于将特殊的HTML实体转换回普通字符。此函数的作用和 htmlspecialchars() 函数刚好相反。

    会被解码的 HTML 实体是:

    • & 解码成 & (和号)

    • " 解码成 " (双引号)

    •  解码成 ' (单引号)

    • &lt; 解码成 < (小于)

    • &gt; 解码成 > (大于)

    举例1,解码特殊字符(默认解码双引号)   

<?php
$str = "hello &quot;world&quot; &amp; 'china'";
// 解码HTML实体(默认解码双引号)
echo htmlspecialchars_decode($str);

    以上代码输出的HTML代码如下(只解码了双引号):

hello "world" & 'china

    在浏览器中输出如下:

hello "world" & 'china

     举例2,解码特殊字符(不解码双引号)   

<?php
$str = "hello &quot;world&quot;&amp; 'china'";
// 解码HTML实体(不解码双引号)
echo htmlspecialchars_decode($str,ENT_NOQUOTES);

    以上代码输出的HTML代码如下(解码了双引号和单引号):

hello &quot;world&quot;& 'china'

    在浏览器中输出如下:

hello "world"& 'china'

猜你喜欢

转载自blog.csdn.net/ztnhnr/article/details/107283900