php htmlspecialchars_decode()函数将一些HTML实体转换为字符

♀尐吖头ヾ 提交于 2019-12-09 21:07:04

在php中,htmlspecialchars_decode()函数是用来把一些预定义的HTML实体转换为字符,返回转换后的字符串,原字符串不变;

将被转换的HTML实体有:

  • &:转换为&;
  • ":转换为";
  • ':转换为';
  • &lt;:转换为<;
  • &gt;:转换为>;

htmlspecialchars_decode()函数是htmlspecialchars()函数的反函数,htmlspecialchars()函数是用来将特殊字符转换为HTML实体;

htmlspecialchars_decode()函数有两个参数,第一个参数用来规定需要转换为字符的HTML实体字符串;第二个参数是PHP 5.4中新增的可选参数,用来规定如何处理引号以及使用哪种文档类型,可能的值见下边参数说明;

htmlspecialchars_decode()函数语法格式

$newStr = htmlspecialchars_decode(string,flags);

参数说明

  • string:规定需要转换为字符的HTML实体字符串;
  • flags:PHP 5.4中新增的可选参数,规定如何处理引号以及使用哪种文档类型,可选参数。

可用的引号类型:

  • ENT_COMPAT - 默认。仅解码双引号;
  • ENT_QUOTES - 解码双引号和单引号;
  • ENT_NOQUOTES - 不解码任何引号;

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

  • ENT_HTML401 - 默认。作为 HTML 4.01 处理代码;
  • ENT_HTML5 - 作为 HTML 5 处理代码;
  • ENT_XML1 - 作为 XML 1 处理代码;
  • ENT_XHTML - 作为 XHTML 处理代码;

实例:

 
  1. <?php
  2. header("content-type:text/html;charset=utf-8");//设置编码,解决中文乱码
  3. $string = "ggbiji &amp; 'ggbiji'";
  4. $newStr1 = htmlspecialchars_decode($string, ENT_COMPAT); // 默认,仅解码双引号
  5. $newStr2 = htmlspecialchars_decode($string, ENT_QUOTES); // 解码双引号和单引号
  6. $newStr3 = htmlspecialchars_decode($string, ENT_NOQUOTES); // 不解码任何引号
  7. echo $newStr1."<br/>\n";
  8. echo $newStr2."<br/>\n";
  9. echo $newStr3."<br/>\n";
  10. ?>

 运行代码

运行结果:

HTML输出如下(查看源代码):

 

更多操作字符串的函数——>PHP String字符串函数大全

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!