php過濾HTML標(biāo)簽、屬性等正則表達(dá)式匯總
$str=preg_replace("/\s+/", " ", $str); //過濾多余回車 $str=preg_replace("/<[ ]+/si","<",$str); //過濾<__("<"號后面帶空格) $str=preg_replace("/<\!--.*?-->/si","",$str); //注釋 $str=preg_replace("/<(\!.*?)>/si","",$str); //過濾DOCTYPE $str=preg_replace("/<(\/?html.*?)>/si","",$str); //過濾html標(biāo)簽 $str=preg_replace("/<(\/?head.*?)>/si","",$str); //過濾head標(biāo)簽 $str=preg_replace("/<(\/?meta.*?)>/si","",$str); //過濾meta標(biāo)簽 $str=preg_replace("/<(\/?body.*?)>/si","",$str); //過濾body標(biāo)簽 $str=preg_replace("/<(\/?link.*?)>/si","",$str); //過濾link標(biāo)簽 $str=preg_replace("/<(\/?form.*?)>/si","",$str); //過濾form標(biāo)簽 $str=preg_replace("/cookie/si","COOKIE",$str); //過濾COOKIE標(biāo)簽 $str=preg_replace("/<(applet.*?)>(.*?)<(\/applet.*?)>/si","",$str); //過濾applet標(biāo)簽 $str=preg_replace("/<(\/?applet.*?)>/si","",$str); //過濾applet標(biāo)簽 $str=preg_replace("/<(style.*?)>(.*?)<(\/style.*?)>/si","",$str); //過濾style標(biāo)簽 $str=preg_replace("/<(\/?style.*?)>/si","",$str); //過濾style標(biāo)簽 $str=preg_replace("/<(title.*?)>(.*?)<(\/title.*?)>/si","",$str); //過濾title標(biāo)簽 $str=preg_replace("/<(\/?title.*?)>/si","",$str); //過濾title標(biāo)簽 $str=preg_replace("/<(object.*?)>(.*?)<(\/object.*?)>/si","",$str); //過濾object標(biāo)簽 $str=preg_replace("/<(\/?objec.*?)>/si","",$str); //過濾object標(biāo)簽 $str=preg_replace("/<(noframes.*?)>(.*?)<(\/noframes.*?)>/si","",$str); //過濾noframes標(biāo)簽 $str=preg_replace("/<(\/?noframes.*?)>/si","",$str); //過濾noframes標(biāo)簽 $str=preg_replace("/<(i?frame.*?)>(.*?)<(\/i?frame.*?)>/si","",$str); //過濾frame標(biāo)簽 $str=preg_replace("/<(\/?i?frame.*?)>/si","",$str); //過濾frame標(biāo)簽 $str=preg_replace("/<(script.*?)>(.*?)<(\/script.*?)>/si","",$str); //過濾script標(biāo)簽 $str=preg_replace("/<(\/?script.*?)>/si","",$str); //過濾script標(biāo)簽 $str=preg_replace("/javascript/si","Javascript",$str); //過濾script標(biāo)簽 $str=preg_replace("/vbscript/si","Vbscript",$str); //過濾script標(biāo)簽 $str=preg_replace("/on([a-z]+)\s*=/si","On\\1=",$str); //過濾script標(biāo)簽 $str=preg_replace("/&#/si","&#",$str); //過濾script標(biāo)簽,如javAsCript:alert(
清除空格,換行
function DeleteHtml($str) { $str = trim($str); $str = strip_tags($str,""); $str = ereg_replace("\t","",$str); $str = ereg_replace("\r\n","",$str); $str = ereg_replace("\r","",$str); $str = ereg_replace("\n","",$str); $str = ereg_replace(" "," ",$str); return trim($str); }
過濾HTML屬性
1,過濾所有html標(biāo)簽的正則表達(dá)式:
</?[^>]+>
//過濾所有html標(biāo)簽的屬性的正則表達(dá)式:
$html = preg_replace("/<([a-zA-Z]+)[^>]*>/","<\\1>",$html);
3,過濾部分html標(biāo)簽的正則表達(dá)式的排除式(比如排除<p>,即不過濾<p>):
</?[^pP/>]+>
4,過濾部分html標(biāo)簽的正則表達(dá)式的枚舉式(比如需要過濾<a><p><b>等):
</?[aApPbB][^>]*>
5,過濾部分html標(biāo)簽的屬性的正則表達(dá)式的排除式(比如排除alt屬性,即不過濾alt屬性):
\s(?!alt)[a-zA-Z]+=[^\s]*
6,過濾部分html標(biāo)簽的屬性的正則表達(dá)式的枚舉式(比如alt屬性):
(\s)alt=[^\s]*
PS:關(guān)于正則,這里再為大家推薦2款非常方便的正則表達(dá)式工具供大家參考使用:
JavaScript正則表達(dá)式在線測試工具:
http://tools.jb51.net/regex/javascript
正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg
相關(guān)文章
PHP使用CURL_MULTI實現(xiàn)多線程采集的例子
這篇文章主要介紹了PHP使用CURL_MULTI實現(xiàn)多線程采集的例子,CURL_MULTI可以對HTTP進(jìn)行并發(fā)訪問,需要的朋友可以參考下2014-07-07PHP下載遠(yuǎn)程圖片并保存到本地方法總結(jié)
這篇文章主要介紹了PHP下載遠(yuǎn)程圖片并保存到本地方法總結(jié)的相關(guān)資料,需要的朋友可以參考下2016-01-01laravel 解決ajax異步提交數(shù)據(jù),并還回填充表格的問題
今天小編就為大家分享一篇laravel 解決ajax異步提交數(shù)據(jù),并還回填充表格的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10在WordPress的文章編輯器中設(shè)置默認(rèn)內(nèi)容的方法
這篇文章主要介紹了在WordPress的文章編輯器中設(shè)置默認(rèn)內(nèi)容的方法,包括給不同類型的文章設(shè)置不同內(nèi)容的具體方法,需要的朋友可以參考下2015-12-12PHP框架實現(xiàn)WebSocket在線聊天通訊系統(tǒng)
這篇文章主要介紹了PHP框架結(jié)合實現(xiàn)WebSocket在線聊天通訊系統(tǒng),非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-11Thinkphp 框架擴(kuò)展之標(biāo)簽庫驅(qū)動原理與用法分析
這篇文章主要介紹了Thinkphp 框架擴(kuò)展之標(biāo)簽庫驅(qū)動,結(jié)合實例形式分析了Thinkphp標(biāo)簽庫驅(qū)動擴(kuò)展相關(guān)概念、原理、用法及操作注意事項,需要的朋友可以參考下2020-04-04