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 输入,否则可能会导致不可预期的结果。
- 在使用该函数的过程中,可以通过实体名称(以 & 和; 包围)来进行实体解码,也可以使用实体编号(以 & # 和; 包围)进行实体解码。