本文章收藏了多種關於php教程 過濾html標簽方法的方法,有利用php自帶函數過濾html標簽也有使用用戶自定義函數加正則表達式來過濾htm標簽,好了下面我們先看二款最簡單的方法吧。
方法一
<?php
echo strip_tags("hello <b>world!</b>");
strip_tags --- 去除字串中的html和php標簽
語法 : string strip_tags (string str [, string allowable_tags])
說明 :
此函式試著從給予的字串中去除所有html和php標簽,如果是不完整或是假的標簽時則會有錯誤,它和fgetss( )使用相同的方法去除標簽。
$reg = '/(</?p>|<brs*/?>)|<.+?>/i';
echo preg_replace($reg,'$1',$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;
}
過濾方法三
function clear_html_label($html)
{
$search = array ("'<script[^>]*?>.*?</script>'si", "'<[/!]*?[^<>]*?>'si", "'([rn])[s]+'", "'&(quot|#34);'i", "'&(amp|#38);'i", "'&(lt|#60);'i", "'&(gt|#62);'i", "'&(nbsp|#160);'i", "'&(iexcl|#161);'i", "'&(cent|#162);'i", "'&(pound|#163);'i", "'&(copy|#169);'i", "'&#(d+);'e");
$replace = array ("", "", "1", """, "&", "<", ">", " ", chr(161), chr(162), chr(163), chr(169), "chr(1)");return preg_replace($search, $replace, $html);
}
//實例應用
$string ='aaa<br /> <script>fdsafsa';
echo clear_html_label($string);//aaa fdsafsa