//我只是做乙個測試,如果再用類似***的字串,一定要注意,如果字串中的字元出現在$startreplacehtml或者$endreplacehtml中,你需要修改下面的preg_replace中的規則
$checkedmessage="hello!!他x的..他....x...的....how are you m d "; //the message to be checked
echo $checkedmessage."
";$checkedwords=array("他x的","***");//要過濾的非法字元,如果你需要把單個的字元也過濾,比如:他ererx000的過濾出來他,x,的,你就沒必要把過濾字元設定成"他x的"只要設定成$checkedwords=array("他","x","的");就可以了
$startreplacehtml="";
$endreplacehtml="";
$checkother= true;//設定標示位,是否顯示單個的字元,如果設定成true,下面的if(strstr……)就不需要了
for($i=0;$i if(strstr($checkedmessage,$checkedwords[$i]))
if($checkother == true)
$substrchar = substr($checkedwords[$i],$j,$assumelength);
$checkedmessage=preg_replace("/(?中的t不會被替換,如果需要過濾掉在$startreplace或者在$endreplacehtml中的的字元,需要修改規則,否則的話將會出現亂碼
if($assumelength!=1)
}&nbkogglsp; }
}echo $checkedmessage;
//只是乙個簡單的測試,希望對你有所幫助,希望你能舉一反三,好運!
?>
本文標題: 如何過濾高亮顯示非法字元
本文位址:
過濾非法字元
using system using system.componentmodel using system.collections using system.diagnostics using system.data using system.data.sqlclient using system....
過濾非法字元
再度改進,在髒字可能存在的情況下,例如出現了多個髒字前length 1部分時,效能相比http www.cnblogs.com xingd archive 2008 01 31 1060425.html 中描述的又提公升了300 400 直接貼出全部 了,通過新增的乙個byte char.maxva...
正則過濾非法字元
小寫英文 大寫英文 任意數字 限2位小數 如 123.12 日 期 如 2002 9 29 任意中文 部分英文 範圍 a,b,c,d,e 部分中文 範圍 一二三四五六七 十 有關正規表示式 只能輸入數字和英文的 只能輸入數字的 只能輸入全形的 只能輸入漢字的 d 非負整數 正整數 0 0 9 1 9...