字符串函数

PHP html_entity_decode() 函数

主题:PHP 字符串参考上一页|下一页

说明

html_entity_decode() 函数将 HTML 实体转换为其对应的字符。

此函数通常会反转 htmlentities() 函数的效果。

下表总结了该函数的技术细节。

返回值: Returns the decoded string.
版本: PHP 4.3.0+

语法

html_entity_decode() 函数的基本语法如下:

html_entity_decode(string, flags, charset);

下面的例子展示了 html_entity_decode() 函数的作用。

<?php
// 示例字符串
$str = "It's an <b>amazing</b> story.";

// 编码字符串
$encoded_str = htmlentities($str);
echo $encoded_str . "<br>";

// 解码字符串
$decoded_str = html_entity_decode($encoded_str);
echo $decoded_str;
?>

参数

html_entity_decode() 函数接受以下参数。

参数 说明
string 必填。 指定要解码的字符串。
flags

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

处理引号的可用标志常量是:

  • ENT_COMPAT – 转换双引号,不转换单引号。
  • ENT_QUOTES – 转换双引号和单引号。
  • ENT_NOQUOTES – 不转换双引号和单引号。

用于指定文档类型的可用标志常量有:

  • ENT_HTML401 – 将代码处理为 HTML 4.01。
  • ENT_HTML5 – 将代码处理为 HTML 5。
  • ENT_XML1 – 将代码处理为 XML 1。
  • ENT_XHTML – 将代码处理为 XHTML。

此参数的默认值为 ENT_COMPAT | ENT_HTML401.

charset

可选。 指定要使用的字符集。 支持的字符集是:

  • UTF-8 – ASCII 兼容多字节 8 位 Unicode。
  • ISO-8859-1 –西欧,拉丁语 1。
  • ISO-8859-5 –很少使用西里尔字符集(拉丁文/西里尔文)。
  • ISO-8859-15 西欧,拉丁语 9。添加了 Latin-1 (ISO-8859-1) 中缺少的欧元符号、法语和芬兰语字母。
  • cp866 – DOS 特定的西里尔字符集。
  • cp1251 –特定于 Windows 的西里尔字符集。
  • cp1252 –西欧的 Windows 特定字符集。
  • KOI8-R –俄语。
  • BIG5 –繁体中文,主要用于台湾。
  • GB2312 –简体中文,国标字符集。
  • BIG5-HKSCS – Big5 带有香港扩展名,繁体中文。
  • Shift_JIS –日语。
  • EUC-JP –日语。
  • MacRoman – Mac OS 使用的字符集。

如果省略此参数,则默认为 default_charset 配置选项的值(在 php.ini 文件中)。


更多示例

Here're some more examples showing how html_entity_decode() function actually works:

The following example demonstrates the handling of single and double quotes using this function.

<?php
// 示例字符串
$str = "I'll \"leave\" tomorrow.";

// Encoding the string
$encoded_str = htmlentities($str, ENT_QUOTES);
echo $encoded_str; /* I&#039;ll &quot;leave&quot; tomorrow. */

// Converts only double-quotes
$a = html_entity_decode($encoded_str);
echo $a; /* I&#039;ll "leave" tomorrow. */

// Converts both double and single quotes
$b = html_entity_decode($encoded_str, ENT_QUOTES);
echo $b; /* I'll "leave" tomorrow. */
?>

However, in the browser you will always see the string I'll "leave" tomorrow. View source (right-click and select View Page Source) of the example output to see the converted string.

Advertisements