php get_html_translation_table()函数

时间:2016-05-11
php get_html_translation_table() 将返回 htmlspecialchars() 和 htmlentities() 处理后的转换表。本文章向码农介绍php get_html_translation_table函数的使用方法和实例。

定义和用法

get_html_translation_table() 函数返回 htmlentities() 和 htmlspecialchars() 函数使用的翻译表。

提示:某些字符可以按照多种方式进行编码。get_html_translation_table() 函数返回最普通的编码。

语法

get_html_translation_table(function,flags,character-set)
参数 描述
function

可选。规定返回哪个翻译表。

可能的值:

  • HTML_SPECIALCHARS - 默认。翻译需要 URL 编码的字符,以便正确显示在 HTML 页面上
  • HTML_ENTITIES - 翻译所有需要 URL 编码的字符,以便正确地显示在 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 替代。

技术细节

返回值: 以数组形式返回翻译表,原始字符作为键名,实体作为键值。
PHP 版本: 4+

更新日志:

版本 说明
PHP 5 character-set 参数的默认值改为 UTF-8。
PHP 5.4

新增了用于规定翻译表适用的文档类型的附加 flags:

  • ENT_HTML401
  • ENT_HTML5
  • ENT_XML1
  • ENT_XHTML
PHP 5.3.4 新增了 character-set 参数。

实例

HTML_SPECIALCHARS 的翻译表:

<?php
print_r (get_html_translation_table(HTML_SPECIALCHARS));
?>

在线运行

显示字符和实体名:

Array
(
  ["] => "
  [&] => &
  [<] => <
  [>] => >
)

例子 2

HTML_ENTITIES 的翻译表:

<?php
print_r (get_html_translation_table(HTML_ENTITIES));
?>

在线运行