程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php清除html中超鏈接/JS腳本/回車

php清除html中超鏈接/JS腳本/回車

編輯:關於PHP編程

在php中要過濾一些特殊字符或非法字符我們可以有很多的辦法,像正則表達式str_replace就是一個不錯的辦法,像回車,空格,換行都可以用它來解決。

近負責的一個系統模塊終於可以說是接近尾聲了,余下的工作就是配合測試們測試和修改了。

趁著這個相對比較閒的時間裡,偷偷寫幾篇博文記錄下這個時間段遇到的問題和我的解決方案(還是說解決方法吧)。

 好了,廢話不多說,進入正題。

    有這種需求的一般都是去小偷程序那些,像去掉原頁面的鏈接什麼的。不過,我遇到的是要導出制定頁面到word,安全起見需要去掉js代碼塊。

    先上代碼

 代碼如下 復制代碼

   

    $searchRegex = array(
    '/<as*.*?s*>(s*.*?s*)</a>/i', // 超鏈接
    '/<scripts*.*?s*>[sS]*?</script>/i', // JS腳本代碼
    );
    $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'; // JS腳本代碼

如果要過濾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)

好了,就這麼多,希望下一次有幫助吧。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved