php html_entity_decode()函数把HTML实体转换为字符

原创 国哥笔记  2019-01-03 15:06  阅读 804 views 次

html_entity_decode()函数定义及用法

在php中,html_entity_decode()函数是使用来把HTML实体转换为字符,返回转换后的转换的新字符串,原字符串保持不变;

html_entity_decode()函数是htmlentities()函数的反函数,htmlentities()函数是用来将字符转换为HTML实体;

html_entity_decode()函数和htmlspecialchars_decode()函数很相似,htmlspecialchars_decode()函数是将将一些HTML实体转换为字符,只转换& 、" 、' 、< 、&gt这几个实体,而html_entity_decode()函数将转换所有适用的HTML实体;

html_entity_decode()函数语法格式

$newStr = html_entity_decode(string,flags,character-set);

参数说明:

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

可用的引号类型:

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

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

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

 

  • character-set:可选参数,一个规定了要使用的字符集的字符串;

允许的值:

  • UTF-8:默认,ASCII 兼容多字节的 8 位 Unicode;
  • ISO-8859-1:西欧;
  • ISO-8859-15:西欧(加入欧元符号 + ISO-8859-1 中丢失的法语和芬兰语字母);
  • cp866:DOS专用 Cyrillic 字符集;
  • cp1251:Windows 专用 Cyrillic 字符集;
  • cp1252:Windows 专用西欧字符集;
  • KOI8-R:俄语;
  • BIG5:繁体中文,主要在台湾使用;
  • GB2312:简体中文,国家标准字符集;
  • BIG5-HKSCS:带香港扩展的 Big5;
  • Shift_JIS:日语;
  • EUC-JP:日语;
  • MacRoman:Mac 操作系统使用的字符集;
注释:在 PHP 5.4 之前的版本,无法被识别的字符集将被忽略并由 ISO-8859-1 替代。自 PHP 5.4 起,无法被识别的字符集将被忽略并由 UTF-8 替代。

更新日志

  1. 在PHP 5版本中,character-set参数的默认值改为UTF-8;
  2. 在PHP 5.4 版本中,新增了用于规定使用的文档类型的附加flags:ENT_HTML401、ENT_HTML5、ENT_XML1 和 ENT_XHTML;
  3. 在 PHP 5.0版本中,新增了对多字节编码的支持;

实例:

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

运行结果:

html_entity_decode()函数

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

html_entity_decode()函数

 

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

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

发表评论


表情