Notepad++Good Luck To You!

php删除html标签和标签内的内容的方法

1:删除全部或者保留指定html标签
php自带的函数strip_tags即可满足要求,
使用方法:

strip_tags(string,allow);
#string:需要处理的字符串;allow:需要保留的指定标签,可以写多个;
echo strip_tags($str,'<p><a>');



2:删除指定的html标签
使用方法:strip_html_tags($tags,$str);
$tags:需要删除的标签(数组格式)
$str:需要处理的字符串;

function strip_html_tags($tags,$str){    
$html=array();    
foreach ($tags as $tag) {        
$html[]="/(<(?:\/".$tag."|".$tag.")[^>]*>)/i";    
}    $data=preg_replace($html, '', $str);    
return $data;
}
echo strip_html_tags(array('p','img'),$str);
//输出:<div>这里是p标签<a href="">这里是a标签</a><br></div>;

3:删除标签和标签的内容

使用方法:strip_html_tags($tags,$str);
$tags:需要删除的标签(数组格式)
$str:需要处理的字符串;

function strip_html_tags($tags,$str){
    $html=array();
    foreach ($tags as $tag) {
        $html[]='/<'.$tag.'.*?>[\s|\S]*?<\/'.$tag.'>/';
        $html[]='/<'.$tag.'.*?>/';
    }
    $data=preg_replace($html,'',$str);
    return $data;}echo strip_html_tags(array('a','img'),$str);
    //输出<div><p>这里是p标签</p><br></div>



4:终极函数,删除指定标签;删除或者保留标签内的内容;

使用方法:strip_html_tags($tags,$str,$content);

$tags:需要删除的标签(数组格式)$str:需要处理的字符串;$ontent:是否删除标签内的内容 0保留内容 1不保留内容
/** * 删除指定标签 * 
* @param array $tags 删除的标签  数组形式 
* @param string $str html字符串 
* @param bool $content   true 保留标签的内容text 
* @return mixed */
function stripHtmlTags($tags, $str, $content = true){ 
   $html = [];    // 是否保留标签内的text字符    
   if($content){        
   foreach ($tags as $tag) {            
   $html[] = '/(<' . $tag . '.*?>(.|\n)*?<\/' . $tag . '>)/is';        
   }    
   }else{
      foreach ($tags as $tag) {
            $html[] = "/(<(?:\/" . $tag . "|" . $tag . ")[^>]*>)/is";   
            }   
    }    
 $data = preg_replace($html, '', $str);    
 return $data;
}
//输出<div><p>这里是p标签</p><img src="" alt="这里是img标签"><br></div>

«    2023年7月    »
12
3456789
10111213141516
17181920212223
24252627282930
31
TOP 搜索
TOP 控制面板
您好,欢迎到访网站!
  查看权限
TOP 最新留言
    TOP 作者列表
    TOP 站点信息
    • 文章总数:163
    • 页面总数:0
    • 分类总数:6
    • 标签总数:20
    • 评论总数:0
    • 浏览总数:312004
    召唤伊斯特瓦尔