您好,登錄后才能下訂單哦!
這篇“php如何清除html代碼”文章,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要參考一下,對于“php如何清除html代碼”,小編整理了以下知識點,請大家跟著小編的步伐一步一步的慢慢理解,接下來就讓我們進入主題吧。
php是一個嵌套的縮寫名稱,指的是英文超級文本預(yù)處理語言(php:Hypertext Preprocessor)的縮寫,它的語法混合了C、Java、Perl以及php自創(chuàng)新的語法,主要用來做網(wǎng)站開發(fā),許多小型網(wǎng)站都用php開發(fā),因為php是開源的,從而使得php經(jīng)久不衰。
php清除html代碼的方法:1、通過“strip_tags($str)”去掉HTML及PHP的標記;2、通過htmlspecialchars把html中的標簽轉(zhuǎn)換為html實體;3、通過正則表達式過濾css等樣式。
php中去除文字內(nèi)容中所有html代碼
PHP已經(jīng)為我們提供了很多清除html格式的方法了,下面就讓老高介紹一下。
I. strip_tags
strip_tags($str) 去掉 HTML 及 PHP 的標記
語法: string strip_tags(string str);
傳回值: 字串
函式種類: 資料處理
內(nèi)容說明 :
解析:本函式可去掉字串中包含的任何 HTML 及 PHP 的標記字串。若是字串的 HTML 及 PHP 標簽原來就有錯,例如少了大于的符號,則也會傳回錯誤。這個函數(shù)和 fgetss() 有著相同的功能
例子
echo strip_tags("Hello world!"); # Hello world!
II. htmlspecialchars
這個函數(shù)把html中的標簽轉(zhuǎn)換為html實體,博客的代碼展示就必須使用這個函數(shù),要不貼出來的代碼就會被執(zhí)行了。
預(yù)定義的字符是:
& (和號) 成為 & ” (雙引號) 成為 ” ‘ (單引號) 成為 ‘ < (小于) 成為 < > (大于) 成為 >
例子
$new = htmlspecialchars("Test", ENT_QUOTES); echo $new; # <a href='test'>Test</a> # 如果需要展現(xiàn) ,那么瀏覽器解析HTML的時候會自動將他變?yōu)閾Q行 # 但是通過htmlspecialchars就可以讓< 變?yōu)?nbsp;'
與htmlspecialchars功能相反的函數(shù)是htmlspecialchars_decode,他會把HTML實體轉(zhuǎn)化為字符!
III. 后補函數(shù)
PHP去除html、css樣式、js格式的方法很多,但發(fā)現(xiàn),它們基本都有一個弊端:空格往往清除不了
經(jīng)過不斷的研究,最終找到了一個理想的去除html包括空格css樣式、js 的PHP函數(shù)。
$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("/
以上是“php如何清除html代碼”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。