php清除html中超鏈接/JS腳本/回車
來源:程序員人生 發布時間:2014-04-20 17:07:17 閱讀次數:3643次
在php中要過濾一些特殊字符或非法字符我們可以有很多的辦法,像正則表達式str_replace就是一個不錯的辦法,像回車,空格,換行都可以用它來解決。
近負責的一個系統模塊終于可以說是接近尾聲了,余下的工作就是配合測試們測試和修改了。
趁著這個相對比較閑的時間里,偷偷寫幾篇博文記錄下這個時間段遇到的問題和我的解決方案(還是說解決方法吧)。
好了,廢話不多說,進入正題。
有這種需求的一般都是去小偷程序那些,像去掉原頁面的鏈接什么的。不過,我遇到的是要導出制定頁面到word,安全起見需要去掉js代碼塊,先上代碼:
- $searchRegex = array(
- '/<as*.*?s*>(s*.*?s*)</a>/i',
- '/<scripts*.*?s*>[sS]*?</script>/i',
- );
- $replaceStr = array(
- '$1',
- ''
- );
- $content = preg_replace($searchRegex, $replaceStr, $content);
php的話這個就比較簡單了,就是使用了preg_replace這個函數啦,不多說。。。需要注意的是兩個正則吧,這個才是關鍵,代碼如下:
- $regexForLink = '/<as*.*?s*>(s*.*?s*)</a>/i';
- $regexForJS = '/<scripts*.*?s*>[sS]*?</script>/i';
如果要過濾HTML代碼、空格、回車換行符,代碼如下:
- function DeleteHtml($str)
- {
- $str = trim($str);
- $str = strip_tags($str,"");
- $str = ereg_replace("t","",$str);
- $str = ereg_replace("rn","",$str);
- $str = ereg_replace("r","",$str);
- $str = ereg_replace("n","",$str);
- $str = ereg_replace(" "," ",$str);
- return trim($str);
- }
過濾html中所有html標簽可以使用strip_tags() 函數剝去 HTML、XML 以及 PHP 的標簽。
strip_tags(string,allow)
好了,就這么多,希望下一次有幫助吧。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈