php处理html的几个函数

目录

htmlspecialchars —— 将特殊字符转换为 HTML 实体

htmlentities — 将字符转换为 HTML 转义字符

htmlspecialchars_decode — 将特殊的 HTML 实体转换回普通字符

html_entity_decode — 把 HTML 实体转换为字符。

get_html_translation_table — 返回使用 htmlspecialchars() 和 htmlentities() 后的转换表

strip_tags — 从字符串中去除 HTML 和 PHP 标记

nl2br — 在字符串所有新行之前插入 HTML 换行标记


htmlspecialchars —— 将特殊字符转换为 HTML 实体

htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") [, bool $double_encode = TRUE ]]] ) : string

预定义的字符是:

字符 替换后
& (& 符号) &
" (双引号) ",除非设置了 ENT_NOQUOTES
' (单引号) 设置了 ENT_QUOTES 后, ' (如果是 ENT_HTML401) ,或者 ' (如果是 ENT_XML1、 ENT_XHTML 或 ENT_HTML5)。
< (小于) &lt;
> (大于) &gt;

提示:如需把特殊的 HTML 实体转换回字符,请使用 htmlspecialchars_decode() 函数。

参数说明:

string  待转换的字符串

flags  位掩码,由以下某个或多个标记组成,设置转义处理细节、无效单元序列、文档类型。 默认是 ENT_COMPAT | ENT_HTML401。

常量名称 描述
ENT_COMPAT 会转换双引号,不转换单引号。
ENT_QUOTES 既转换双引号也转换单引号。
ENT_NOQUOTES 单/双引号都不转换
ENT_IGNORE 静默丢弃无效的代码单元序列,而不是返回空字符串。 不建议使用此标记, 因为它» 可能有安全影响
ENT_SUBSTITUTE 替换无效的代码单元序列为 Unicode 代替符(Replacement Character), U+FFFD (UTF-8) 或者 &#xFFFD; (其他),而不是返回空字符串。
ENT_DISALLOWED 为文档的无效代码点替换为 Unicode 代替符(Replacement Character): U+FFFD (UTF-8),或 &#xFFFD;(其他),而不是把它们留在原处。 比如以下情况下就很有用:要保证 XML 文档嵌入额外内容时格式合法。
ENT_HTML401 以 HTML 4.01 处理代码。
ENT_XML1 以 XML 1 处理代码。
ENT_XHTML 以 XHTML 处理代码。
ENT_HTML5 以 HTML 5 处理代码。

encoding 字符编码,ini_get("default_charset"),你PHP配置设置的字符编码,一般为UTF-8

double_encode  关闭 double_encode 时,PHP 不会转换现有的 HTML 实体, 默认是全部转换。

htmlentities — 将字符转换为 HTML 转义字符

本函数各方面都和 htmlspecialchars() 一样, 除了 htmlentities() 会转换所有具有 HTML 实体的字符。

htmlspecialchars_decode — 将特殊的 HTML 实体转换回普通字符

此函数的作用和 htmlspecialchars() 刚好相反。它将特殊的HTML实体转换回普通字符。

html_entity_decode — 把 HTML 实体转换为字符。

函数是 htmlentities() 函数的反函数。

get_html_translation_table — 返回使用 htmlspecialchars() 和 htmlentities() 后的转换表

<?php
echo '<pre>';
print_r(get_html_translation_table(HTML_ENTITIES, ENT_QUOTES | ENT_HTML5));
?>

在网页输出上面的结果,还要查看源码才是真正的结果。

strip_tags — 从字符串中去除 HTML 和 PHP 标记

strip_tags ( string $str [, string $allowable_tags ] ) : string

该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。它使用与函数 fgetss() 一样的机制去除标记。

str 输入的字符串

allowable_tags 使用可选的第二个参数指定不被去除的字符列表。

nl2br — 在字符串所有新行之前插入 HTML 换行标记

nl2br ( string $string [, bool $is_xhtml = TRUE ] ) : string

在字符串 string 所有新行之前插入 '<br />' 或 '<br>',并返回。

string  输入字符串。

is_xhtml  是否使用 XHTML 兼容换行符。

<?php
echo nl2br("foo isn't\n bar");
?>

结果为

foo isn't<br />
 bar
发布了52 篇原创文章 · 获赞 54 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/weixin_37909391/article/details/86675520