本文章提供四款过滤html标签的函数代码,方法一最简单的利用了php自带函数strip_tags来过滤所有的html标签,方法二利用了正则表达式来过滤html标签,方法三是清除HTML标签的用户自定义函数,根据ascii编码值来判断是否为字母再过滤。
//最直接过滤html方法
代码如下 |
复制代码 |
strip_tags(); //方法二利用正则过滤 function _filter( $string ) { return str_replace(array(" "," "," ",' '),array('<br />','<br />','<br />',' '),strip_tags($string,'<br><p><img>')); } |
//正则二
代码如下 |
复制代码 |
preg_replace('/(<br>){1,}/is','<br>', $str); |
//正则三
代码如下 |
复制代码 |
function delhtml($str){ //清除html标签 $st=-1; //开始 $et=-1; //结束 $stmp=array(); $stmp[]=" "; $len=strlen($str); for($i=0;$i<$len;$i++){ $ss=substr($str,$i,1); if(ord($ss)==60){ //ord("<")==60 $st=$i; } if(ord($ss)==62){ //ord(">")==62 $et=$i; if($st!=-1){ $stmp[]=substr($str,$st,$et-$st+1); } } } $str=str_replace($stmp,"",$str); return $str; } // $str='<div class="newscon" id="idnewsdtail"><span id=contextid> <p> http://www.phprm.com /> <br> '; $reg = '/(</?p>|<brs*/?>)|<.+?>/i'; echo preg_replace($reg,'$1',$str); |
本文地址:http://www.phprm.com/function/34770.html
转载随意,但请附上文章地址:-)