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>
实体
// 源代码
&lt;div class=&quot;test&quot;&gt;实体&lt;/div&gt;</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 &quot;PHP&quot;.

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 &quot;PHP&quot;.</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>

results matching ""

    No results matching ""