首页 » PHP教程 » php解析html标签技巧_总结php删除html标签和标签内的内容的方法

php解析html标签技巧_总结php删除html标签和标签内的内容的方法

访客 2024-10-26 0

扫一扫用手机浏览

文章目录 [+]

$str='<div><p>这里是p标签</p><imgsrc=""alt="这里是img标签"><ahref="">这里是a标签</a><br></div>';

1:删除全部或者保留指定html标签php自带的函数strip_tags即可知足哀求,利用方法:strip_tags(string,allow);string:须要处理的字符串;allow:须要保留的指定标签,可以写多个;

php解析html标签技巧_总结php删除html标签和标签内的内容的方法

echostrip_tags($str,'<p><a>');//输出:<p>这里是p标签</p><ahref="">这里是a标签</a>

php解析html标签技巧_总结php删除html标签和标签内的内容的方法
(图片来自网络侵删)

此函数的优点是大略粗暴;但是缺陷也很明显;如果有一大堆标签;而我只是想删除指定的某一个;那要写很多须要保留的标签;以是有了第二个方法;

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

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

3:删除标签和标签的内容利用方法:strip_html_tags($tags,$str);$tags:须要删除的标签(数组格式)$str:须要处理的字符串;

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

很多网站文章里面会带上网站名和链接;这个函数便是专治这种;别拿这个函数采集本站啊;不然担保不打去世你;4:终极函数,删除指定标签;删除或者保留标签内的内容;利用方法:strip_html_tags($tags,$str,$content);$tags:须要删除的标签(数组格式)$str:须要处理的字符串;$ontent:是否删除标签内的内容 0保留内容 1不保留内容

/删除指定标签@paramarray$tags删除的标签数组形式@paramstring$strhtml字符串@parambool$contenttrue保留标签的内容text@returnmixed/functionstripHtmlTags($tags,$str,$content=true){$html=[];//是否保留标签内的text字符if($content){foreach($tagsas$tag){$html[]='/(<'.$tag.'.?>(.|\n)?<\/'.$tag.'>)/is';}}else{foreach($tagsas$tag){$html[]="/(<(?:\/".$tag."|".$tag.")[^>]>)/is";}}$data=preg_replace($html,'',$str);return$data;}//输出<div><p>这里是p标签</p><imgsrc=""alt="这里是img标签"><br></div>;}}else{foreach($tagsas$tag){$html[]="/(<(?:\/".$tag."|".$tag.")[^>]>)/is";}}$data=preg_replace($html,'',$str);return$data;}//输出<div><p>这里是p标签</p><imgsrc=""alt="这里是img标签"><br></div>;}}else{foreach($tagsas$tag){$html[]="/(<(?:\/".$tag."|".$tag.")[^>]>)/is";}}$data=preg_replace($html,'',$str);return$data;}//输出<div><p>这里是p标签</p><imgsrc=""alt="这里是img标签"><br></div>;

/删除指定标签@paramarray$tags删除的标签数组形式@paramstring$strhtml字符串@parambool$contenttrue保留标签的内容text@returnmixed/functionstripHtmlTags($tags,$str,$content=true){$html=[];//是否保留标签内的text字符if($content){foreach($tagsas$tag){$html[]='/(<'.$tag.'.?>(.|\n)?<\/'.$tag.'>)/is';}}else{foreach($tagsas$tag){$html[]="/(<(?:\/".$tag."|".$tag.")[^>]>)/is";}}$data=preg_replace($html,'',$str);return$data;}//输出<div><p>这里是p标签</p><imgsrc=""alt="这里是img标签"><br></div>;}}else{foreach($tagsas$tag){$html[]="/(<(?:\/".$tag."|".$tag.")[^>]>)/is";}}$data=preg_replace($html,'',$str);return$data;}//输出<div><p>这里是p标签</p><imgsrc=""alt="这里是img标签"><br></div>;}}else{foreach($tagsas$tag){$html[]="/(<(?:\/".$tag."|".$tag.")[^>]>)/is";}}$data=preg_replace($html,'',$str);return$data;}//输出<div><p>这里是p标签</p><imgsrc=""alt="这里是img标签"><br></div>;

标签:

相关文章