| 
       本文章给家收集了大量的关于html标签的去除方法,很多朋友可能会想到使用strip_tags函数,但这个函数会把所有的html标签全部删除了,下面我来给大家介绍去掉指定的html标签及内容方法,有需要了解的朋友可参考。 
string strip_tags ( string str [, string allowable_tags] ) 
弊端:这个函数只能保留想要的html标签,就是参数string allowable_tags,在yizero的评论中我知道了这个函数的参数allowable_tags的其他的用法,代码如下: 
strip_tags($source, ”); 去掉所以的html标签。 
strip_tags($source, ‘<div><img><em>’); 保留字符串中的div、img、em标签,如果想去掉的html的指定标签,那么这个函数就不能满足需求了,于是乎我用到了这个函数,代码如下: 
	
	- <?php 
 
	-  
 
	-  
 
	-  
 
	-  
 
	-  
 
	-  
 
	-  
 
	-  
 
	- function replace_html_tag($string, $tagname, $clear = false){ 
 
	- $re = $clear ? '' : '1'; 
 
	- $sc = '/<' . $tagname . '(?:s[^>]*)?>([sS]*?)?</' . $tagname . '>/i'; 
 
	- return preg_replace($sc, $re, $string); 
 
	- } 
 
	 
 
以下是测试代码,代码如下: 
	
	-  
 
	- $string = file_get_contents('http://www.vcphp.com/'); 
 
	-  
 
	- $string = replace_html_tag($string, 'style', true); 
 
	- $string = replace_html_tag($string, 'script', true); 
 
	-  
 
	- $string = replace_html_tag($string, 'a'); 
 
	-  
 
	- $string = replace_html_tag($string, 'span'); 
 
	- echo $string; 
 
	- ?> 
 
	 
 
如果我们要删除指定两者之间的数据,代码如下: 
	
	- <?php 
 
	-  
 
	-  
 
	-  
 
	-  
 
	-  
 
	-    
 
	- function _strip_tags($tagsArr,$str) {    
 
	-     foreach ($tagsArr as $tag) {   
 
	-         $p[]="/(<(?:/".$tag."|".$tag.")[^>]*>)/i";   
 
	-     }   
 
	-     $return_str = preg_replace($p,"",$str);   
 
	-     return $return_str;   
 
	- }   
 
	-    
 
	- $str = "<b>您好</b><input type='text' name='' /><a href='http://www.vcphp.com'>php粉丝网</a>";   
 
	- echo _strip_tags(array("b", "input", "a"),$str); #去掉 B 标签和 INPUT 标签   
 
	- ?>
 
	 
 
      
      (责任编辑:admin) |