Php/func string html entity decode

来自菜鸟教程
跳转至:导航、​搜索

PHP html_entity_decode()函数

❮PHP字符串参考

将HTML实体转换为字符:

  <?php
$str = '&lt;a href=&quot;https://www.example.com&quot;&gt;example.com&lt;/a&gt;';

  echo html_entity_decode($str);

  ?>

上面代码的HTML输出为(查看源代码):

  <a href="https://www.example.com">example.com</a>

上面代码的浏览器输出将是:

example.com



定义和用法

html_entity_decode()函数将HTML实体转换为字符。

html_entity_decode()函数与 htmlentities()

.

句法

html_entity_decode(string,flags,character-set)

参数值

参数 描述
string 需要。指定要解码的字符串
flags

可选的。指定如何处理引号以及要使用的文档类型。 可用的引用样式为:

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

用于指定使用的文档类型的其他标志:

  • 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特定的西里尔字符集
  • cp1251-Windows特定的西里尔字符集
  • cp1252-Windows特定于西欧的字符集
  • KOI8-R-俄语
  • BIG5-繁体中文,主要在台湾使用
  • GB2312-简体中文,国家标准字符集
  • BIG5-HKSCS-具有香港扩展名的Big5
  • Shift_JIS-日语
  • EUC-JP-日语
  • MacRoman-Mac OS使用的字符集

注意: 在PHP 5.4之前的版本中,无法识别的字符集将被忽略并由ISO-8859-1代替。从PHP 5.4开始,它将被UTF-8取代。

技术细节

返回值: 返回转换后的字符串
PHP版本: 4.3.0+
更新日志: PHP 5.6-更改了默认值

character-set 参数为默认字符集的值(在配置中)。
PHP 5.4-更改了默认值 character-set UTF-8的参数。
PHP 5.4-添加了ENT_HTML401,ENT_HTML5,ENT_XML1和ENT_XHTML。
PHP 5.0-添加了对多字节编码的支持

更多例子

将一些HTML实体转换为字符:

  <?php

  $str = "Albert Einstein said: &#039;E=MC&sup2;&#039;";
echo 
  html_entity_decode($str, ENT_COMPAT); // Will only convert double quotes

  echo "<br>";
echo html_entity_decode($str, ENT_QUOTES); // Converts double 
  and single quotes

  echo "<br>";
echo html_entity_decode($str, ENT_NOQUOTES); // Does not 
  convert any quotes

  ?>

上面代码的HTML输出为(查看源代码):

  Albert Einstein said: &#039;E=MC²&#039;<br>
Albert Einstein said: 'E=MC²'<br>

  Albert Einstein said: &#039;E=MC²&#039;

上面代码的浏览器输出将是:

  Albert Einstein said: 'E=MC²'
Albert Einstein said: 'E=MC²'
Albert 
  Einstein said: 'E=MC²'



使用西欧字符集将一些HTML实体转换为字符:

  <?php

  $str = "My name is &Oslash;yvind &Aring;sane. I&#039;m Norwegian.";

  echo html_entity_decode($str, ENT_QUOTES, "UTF-8");

  ?>

上面代码的HTML输出为(查看源代码):

  My name is Øyvind Åsane. I'm Norwegian.

上面代码的浏览器输出将是:

My name is Øyvind Åsane. I'm Norwegian.



❮PHP字符串参考