在php中内置了一个html标签清除函数strip_tags它删除的是所有字符串了,如果只要删除指定的就没有办法了。
自定义删除html标签函数。
例子
<?php
function strip_selected_tags($text, $tags = array())
{ www.jbxue.com
$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 $text;
}
?>
这个函数很短,但它实现的功能很实用,第一个参数是原字符串,第二个参数是要删除的HTML的标签数组,如果要删除<a>和<p>标签,只需要使用以下代码:
<?php
$tags = array();
$tags[0]='a';
$tags[1]='p';
$str = "<a href=http://www.jbxue.com>link</a><p>help</p>";
echo strip_selected_tags($str,$tags);
?>