本文章提供四款過濾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> www.companysz.com<nr /> <br>
- ';
- $reg = '/(</?p>|<brs*/?>)|<.+?>/i';
- echo preg_replace($reg,'$1',$str);
新聞熱點
疑難解答