TreeviewCopyright © aleen42 all right reserved, powered by aleen42
HTML实体和字符串(实体的概念可以简单理解为把双引号转换为"等实体字符)
htmlentities — 将普通字符转换成HTML实体
语法
string htmlentities( string $string[, int $flags = ENT_COMPAT | ENT_HTML401[, string $encoding = ini_get("default_charset")[, bool $double_encode = true]]] )
描述
- 描述
参数
参数 | 描述 |
---|---|
string | 要转换的字符串 |
flags | 规定如何处理引号、无效的编码以及使用哪种文档类型 |
encoding | 规定了要使用的字符集的字符串 |
double_encode | 布尔值,规定是否编码已存在的 HTML 实体 |
flags
- 可用的引号类型: ENT_COMPAT - 默认。仅编码双引号。 ENT_QUOTES - 编码双引号和单引号。 ENT_NOQUOTES - 不编码任何引号。
- 无效的编码: ENT_IGNORE - 忽略无效的编码,而不是让函数返回一个空的字符串。应尽量避免,因为这可能对安全性有影响。 ENT_SUBSTITUTE - 把无效的编码替代成一个指定的带有 Unicode 替代字符 U+FFFD(UTF-8)或者 &#FFFD; 的字符,而不是返回一个空的字符串。 ENT_DISALLOWED - 把指定文档类型中的无效代码点替代成 Unicode 替代字符 U+FFFD(UTF-8)或者 &#FFFD;。
- 规定使用的文档类型的附加 flags: ENT_HTML401 - 默认。作为 HTML 4.01 处理代码。 ENT_HTML5 - 作为 HTML 5 处理代码。 ENT_XML1 - 作为 XML 1 处理代码。 ENT_XHTML - 作为 XHTML 处理代码。
encoding
- 允许的值: 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 替代。
encoding
- 可选值: TRUE - 默认。将对每个实体进行转换。 FALSE - 不会对已存在的 HTML 实体进行编码。
返回值
- 返回值
举例
// 示例
$string = '<div class="test">实体</div>';
$result = htmlentities($string);
echo $result;
// 结果
<div class="test">实体</div>
html_entity_decode — 将特殊的 HTML 实体转换回普通字符
语法
string html_entity_decode( string $string[, int $flags = ENT_COMPAT | ENT_HTML401[, string $encoding = ini_get("default_charset")]] )
描述
- 描述
参数
参数 | 描述 |
---|---|
string | 要转换的字符串 |
flags | 规定如何处理引号、无效的编码以及使用哪种文档类型 |
encoding | 规定了要使用的字符集的字符串 |
返回值
- 返回转换后的字符串
举例
// 示例
$string = '<div class="test">实体</div>';
$result = htmlentities($string);
echo $result.'</br>';
$result = html_entity_decode($result);
echo $result.'</br>';
// 结果
<div class="test">实体</div>
实体
// 源代码
<div class="test">实体</div></br><div class="test">实体</div></br>
htmlspecialchars — 将特殊字符转换为HTML 实体
语法
string htmlspecialchars( string $string[, int $flags = ENT_COMPAT | ENT_HTML401[, string $encoding = ini_get("default_charset")[, bool $double_encode = true]]] )
描述
- 将特殊字符转换为HTML 实体
参数
参数 | 描述 |
---|---|
string | 要转换的字符串 |
flags | 规定如何处理引号、无效的编码以及使用哪种文档类型 |
encoding | 规定了要使用的字符集的字符串 |
返回值
- 转换后的实体字符串
举例
// 示例
$str = 'I love "PHP".';
echo $str;
$result = htmlspecialchars($str, ENT_QUOTES);
echo $result;
// 结果
I love "PHP".I love "PHP".
// 查看源代码
I love "PHP".I love "PHP".
htmlspecialchars_decode — 将特殊的 HTML 实体转换回普通字符
语法
string htmlspecialchars_decode( string $string[, int $flags = ENT_COMPAT | ENT_HTML401] )
描述
- 将特殊的HTML实体转换回普通字符
参数
参数 | 描述 |
---|---|
string | 要转换的字符串 |
flags | 规定如何处理引号、无效的编码以及使用哪种文档类型 |
返回值
- 返回解码后的字符串
举例
// 示例
$str = 'I love "PHP".';
$result = htmlspecialchars($str, ENT_QUOTES);
echo $result.'</br>';
$result = htmlspecialchars_decode($result);
echo $result.'</br>';
// 结果
I love "PHP".
I love "PHP".
// 源代码
I love "PHP".</br>I love "PHP".</br>
strip_tags — 从字符串中去除 HTML 和 PHP 标记
语法
string strip_tags( string $str[, string $allowable_tags] )
描述
- 该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果
参数
参数 | 描述 |
---|---|
str | 输入字符串 |
allowable_tags | 使用可选的第二个参数指定不被去除的字符列表。 HTML 注释和 PHP 标签也会被去除。这里是硬编码处理的,所以无法通过 allowable_tags 参数进行改变 |
返回值
- 返回处理后的字符串
举例
// 示例1-简单使用
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
echo "\n";
// 结果
Test paragraph. Other text
// 示例2-允许特定标签不被去除
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text,'<a><p>');
echo "\n";
// 结果
Test paragraph.
Other text
// 源代码
<p>Test paragraph.</p> <a href="#fragment">Other text</a>