PHP strip_tags() 函数
说明
strip_tags()
函数从字符串中去除 HTML 和 PHP 标记。
下表总结了该函数的技术细节。
返回值: | 返回剥离的字符串。 |
---|---|
变更日志: | 自 PHP 7.4.0 起,allowable_tags 现在可选择接受一个数组。 |
版本: | PHP 4+ |
语法
strip_tags()
函数的基本语法如下:
strip_tags(string, allowable_tags);
下面的例子展示了 strip_tags()
函数的作用。
<?php
// 示例字符串
$str = "<h1>Hello World!</h1>";
// 从字符串中去除 HTML 标签
echo strip_tags($str);
?>
注意: HTML 注释 和 PHP 标记总是被此函数剥离。 这是硬编码的,不能用 allowable_tags 参数更改。
警告:此功能不应用于防止 XSS 攻击。 根据上下文使用更合适的函数,如 htmlspecialchars()
或其他方式。
参数
strip_tags()
函数接受以下参数。
参数 | 说明 |
---|---|
string | 必填。 指定要处理的字符串。 |
allowable_tags | 可选。 指定不应剥离的标签。 |
更多示例
这里有更多示例展示了 strip_tags()
函数的实际工作原理:
自闭合 XHTML 标记将被忽略,allowable_tags 中应仅使用非自闭合标记。 例如,如果你想同时允许 <br>
和 <br/>
,你应该使用:
<?php
// 示例字符串
$str = "<h1>Hello<br/>World!</h1>";
// 去除所有 HTML 标签,除了 <br> 和 <br/>
echo strip_tags($str, "<br>");
?>
从 PHP 7.4.0 开始,您还可以将数组作为 allowable_tags 参数传递,如下所示:
<?php
// 示例字符串
$str = '<p>Hello <b>World!<b></p><!-- Comment --><a href="#top">Top</a>';
// 去除除 <p> 和<a> 之外的所有 HTML 标签
echo strip_tags($str, ["p", "a"]);
?>
Advertisements