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