php过滤html标记的函数strip_tags用法举例(图文)

发布时间:2020-06-02编辑:脚本学堂
本文介绍下,php中用于过滤html标记的函数strip_tags的用法,有需要的朋友参考下吧。

strip_tags函数

Strip HTML and PHP tags from a string
string strip_tags ( string $str [, string $allowable_tags ] )

参数
str
The input string.
必需。规定要检查的字符串。

allowable_tags
You can use the optional second parameter to specify tags which should not be stripped.
可选。规定允许的标签。这些标签不会被删除。

Note: HTML comments and PHP tags are also stripped. This is hardcoded and can not be changed with allowable_tags .
注释:该函数始终会剥离 HTML 注释。这点无法通过 allowable_tags 参数改变。

返回值
Returns the stripped string.

例子,清除html中的某个特定标签,其余标签保留。
 

复制代码 代码示例:

<?php
/**
* 清除html特定标签
* edit by www.jb200.com
*/
function strip_selected_tags($text, $tags = array())
{
$args = func_get_args();
$text = array_shift($args);
$tags = func_num_args() > 2 ? array_diff($args,array($text)) : (array)$tags;
foreach ($tags as $tag){
if( preg_match_all( '/<'.$tag.'[^>]*>([^<]*)</'.$tag.'>/iu', $text, $found) ){
$text = str_replace($found[0],$found[1],$text);
}
}

return preg_replace( '/(<('.join('|',$tags).')(n|r|.)*/>)/iu', '', $text);
}

$str = "123";
echo strip_selected_tags($str,array('b'));
?>

例2,strip_tags 过滤html标签 
 

复制代码 代码示例:
<?
$text="<p>这是<b>测试</b><br /></p>";
echo "原始:".$text."<br />n";
echo "保留b:".strip_tags($text,"<b>")."<br />n";
echo "保留b p:".strip_tags($text,"<p><b>")."<br />";
echo "保留不了br:".strip_tags($text,"<br />");
?>
 

如下图所示:
 

strip_tags用法举例

保留不了<br />怎么办?

是因为它有空格,其实如果<p > 这样也是不行的

把<br />替换为<br/>吧:
 

复制代码 代码示例:
str_replace("<br />","<br/>",$text); 

再:
 

复制代码 代码示例:
strip_tags($text,"<br/>");

您可能感兴趣的文章:
php去除HTML标签的二种方法
php 去除多余的HTML标签
php用strip_tags完整去除所有html标签的实例分享
php删除html标签的三种方法分享
php删除html标签及字符串中html标签的代码
php 去除html标记之strip_tags与htmlspecialchars的区别分析
php删除字符串中html标签的函数
去掉内容中 html 标签的代码
提取html标签的php代码
php正则过滤html标签、空格、换行符等的代码示例
php去除html标签获得输入纯文本文档strip_tags
php使HTML标签自动补全闭合函数的代码
php实现html标签自动补全的代码
thinkPHP的Html模板标签的使用方法