> 文章列表 > php html_entity_decode

php html_entity_decode

php html_entity_decode

概述

html_entity_decode() 函数是用于将 HTML 实体转换为它们对应的字符。通过此函数,可以方便地将特殊字符(包括但不限于以下字符:&,, )转换为能在 HTML 页面中正常显示的字符。

语法

html_entity_decode(string $string,[int $flags = ENT_COMPAT | ENT_HTML401,string $encoding = ‘UTF-8’])

其中,string参数代表要进行实体解码的字符串;$flags参数用于指定解码选项(可选);

$encoding参数则用于指定字符集编码格式(可选),默认值为 UTF-8。

参数

html_entity_decode()函数有三个参数:

  • string参数:必需,代表要进行实体解码的字符串
  • flags参数:可选,用于指定解码选项
    • 可用值有:ENT_COMPAT - 将双引号作为解码引号来处理,默认值;ENT_QUOTES - 将双引号和单引号都作为解码引号来处理;ENT_NOQUOTES - 将双引号和单引号都不作为解码引号来处理。
    • ENT_HTML401 - 以 HTML 401 标准解码实体(默认值);ENT_XML1 - 以 XML 1 标准解码实体;ENT_XHTML - 以 XHTML 标准解码实体;ENT_HTML5 - 以 HTML 5 标准解码实体。
  • encoding参数:可选,用于指定字符集编码格式

示例

下面是一个简单的使用 html_entity_decode()函数的示例:

 $str = "<p>一个HTML实体:≈ </p>"; echo(html_entity_decode($str)); 

运行以上代码后,输出结果为“一个HTML实体:≈”。

注意事项

在使用 html_entity_decode()函数时,需要注意的一些问题:

  • 如果待转换的字符串中包含有一些除特殊字符外的非 HTML 实体的字符,则将不会转换成字符,而是保持原样不变。
  • 不要使用该函数处理包含窄字符(如特殊字符)的 UTF-32 或 UTF-16 输入,否则可能会导致不可预期的结果。
  • 在使用该函数的过程中,可以通过实体名称(以 & 和; 包围)来进行实体解码,也可以使用实体编号(以 & # 和; 包围)进行实体解码。