PHP清除html格式的代碼

jopen 9年前發布 | 2K 次閱讀 PHP

一個理想的去除html包括空格css樣式、js 的PHP函數。

$descclear = str_replace("\r","",$descclear);//過濾換行
$descclear = str_replace("\n","",$descclear);//過濾換行
$descclear = str_replace("\t","",$descclear);//過濾換行
$descclear = str_replace("\r\n","",$descclear);//過濾換行
$descclear = preg_replace("/\s+/", " ", $descclear);//過濾多余回車
$descclear = preg_replace("/<[ ]+/si","<",$descclear); //過濾<__("<"號后面帶空格)
$descclear = preg_replace("/<\!--.*?-->/si","",$descclear); //過濾html注釋
$descclear = preg_replace("/<(\!.*?)>/si","",$descclear); //過濾DOCTYPE
$descclear = preg_replace("/<(\/?html.*?)>/si","",$descclear); //過濾html標簽
$descclear = preg_replace("/<(\/?head.*?)>/si","",$descclear); //過濾head標簽
$descclear = preg_replace("/<(\/?meta.*?)>/si","",$descclear); //過濾meta標簽
$descclear = preg_replace("/<(\/?body.*?)>/si","",$descclear); //過濾body標簽
$descclear = preg_replace("/<(\/?link.*?)>/si","",$descclear); //過濾link標簽
$descclear = preg_replace("/<(\/?form.*?)>/si","",$descclear); //過濾form標簽
$descclear = preg_replace("/cookie/si","COOKIE",$descclear); //過濾COOKIE標簽
$descclear = preg_replace("/<(applet.*?)>(.*?)<(\/applet.*?)>/si","",$descclear); //過濾applet標簽
$descclear = preg_replace("/<(\/?applet.*?)>/si","",$descclear); //過濾applet標簽
$descclear = preg_replace("/<(style.*?)>(.*?)<(\/style.*?)>/si","",$descclear); //過濾style標簽
$descclear = preg_replace("/<(\/?style.*?)>/si","",$descclear); //過濾style標簽
$descclear = preg_replace("/<(title.*?)>(.*?)<(\/title.*?)>/si","",$descclear); //過濾title標簽
$descclear = preg_replace("/<(\/?title.*?)>/si","",$descclear); //過濾title標簽
$descclear = preg_replace("/<(object.*?)>(.*?)<(\/object.*?)>/si","",$descclear); //過濾object標簽
$descclear = preg_replace("/<(\/?objec.*?)>/si","",$descclear); //過濾object標簽
$descclear = preg_replace("/<(noframes.*?)>(.*?)<(\/noframes.*?)>/si","",$descclear); //過濾noframes標簽
$descclear = preg_replace("/<(\/?noframes.*?)>/si","",$descclear); //過濾noframes標簽
$descclear = preg_replace("/<(i?frame.*?)>(.*?)<(\/i?frame.*?)>/si","",$descclear); //過濾frame標簽
$descclear = preg_replace("/<(\/?i?frame.*?)>/si","",$descclear); //過濾frame標簽
$descclear = preg_replace("/<(script.*?)>(.*?)<(\/script.*?)>/si","",$descclear); //過濾script標簽
$descclear = preg_replace("/<(\/?script.*?)>/si","",$descclear); //過濾script標簽
$descclear = preg_replace("/javascript/si","Javascript",$descclear); //過濾script標簽
$descclear = preg_replace("/vbscript/si","Vbscript",$descclear); //過濾script標簽
$descclear = preg_replace("/on([a-z]+)\s*=/si","On\\1=",$descclear); //過濾script標簽
$descclear = preg_replace("/&#/si","&#",$descclear); //過濾script標簽,如javAsCript:alert();
//使用正則替換
$pat = "/<(\/?)(script|i?frame|style|html|body|li|i|map|title|img|link|span|u|font|table|tr|b|marquee|td|strong|div|a|meta|\?|\%)([^>]*?)>/isU";
$descclear = preg_replace($pat,"",$descclear);

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!