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

原创 国哥笔记  2019-01-03 09:56  阅读 732 views 次

htmlspecialchars_decode()函数定义及用法

在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 处理代码;

实例:

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

运行结果:

htmlspecialchars_decode()函数

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

htmlspecialchars_decode()函数

 

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

本文地址:https://www.ggbiji.com/php-htmlspecialchars_decode.html
版权声明:本文为 国哥笔记 原创/整理文章,欢迎分享,转载请注明出处!

发表评论


表情