PHP清除指定html标签二个例子

在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);
?>

你可能感兴趣的:(html标签)