欧美特黄不卡,涩涩视频在线,成人国产精品一区二区网站,亚洲一区二区三区欧美

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

給whygod,如何過濾高亮顯示非法字符!

給whygod,如何過濾高亮顯示非法字符!

更新時間:2022-04-28 文章作者:未知 信息來源:網絡 閱讀次數:

<?
//我只是做一個測試,如果再用類似tmd的字符串,一定要注意,如果字符串中的字符出現在$StartReplaceHtml或者$EndReplaceHtml中,你需要修改下面的preg_replace中的規則
$CheckedMessage="Hello!!他X的..他....X...的....How are you m d "; //the message to be checked
echo $CheckedMessage."<br>";
$CheckedWords=array("他X的","tmd");//要過濾的非法字符,如果你需要把單個的字符也過濾,比如:他ererX000的過濾出來他,X,的,你就沒必要把過濾字符設置成"他X的"只要設置成$CheckedWords=array("他","X","的");就可以了
$StartReplaceHtml="<u><b><font color='#FF0000'>";
$EndReplaceHtml="</font></b></u>";
$CheckOther= true;//設置標示位,是否顯示單個的字符,如果設置成true,下面的if(strstr……)就不需要了
for($i=0;$i<count($CheckedWords);$i++){
 if(strstr($CheckedMessage,$CheckedWords[$i])){ //此處可去掉
 $CheckedMessage=eregi_replace($CheckedWords[$i],$StartReplaceHtml.$CheckedWords[$i].$EndReplaceHtml,$CheckedMessage);//如果只過濾諸如"他X的"字符串(是字符串,不是單個字符),可以直接寫這句,同時把$CheckOther設置成false
 }
 if($CheckOther == true){
 $CharStringLength = strlen($CheckedWords[$i]);
 for($j=0;$j<$CharStringLength;$j++){
 $AssumeLength=1;//假定截取長度
 if(ord(substr($CheckedWords[$i],$j,$AssumeLength))>0xa0){//如果漢字,假定長度加一
$AssumeLength++; 
 }
 $SubstrChar = substr($CheckedWords[$i],$j,$AssumeLength); 
 $CheckedMessage=preg_replace("/(?<!fon)".$SubstrChar."/",$StartReplaceHtml.$SubstrChar.$EndReplaceHtml,$CheckedMessage);//替換字符,同時如果字符含有t的時候<font>中的t不會被替換,如果需要過濾掉在$StartReplace或者在$EndReplaceHtml中的的字符,需要修改規則,否則的話將會出現亂碼 
 if($AssumeLength!=1){//如果當前截取字符為漢字
 $j++;
 }
 
 }
 }
}
echo $CheckedMessage;
//只是一個簡單的測試,希望對你有所幫助,希望你能舉一反三,好運!

?>

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

主站蜘蛛池模板: 和平县| 吉安县| 聊城市| 连州市| 高邮市| 浑源县| 丰原市| 古蔺县| 红桥区| 定州市| 遵义市| 理塘县| 积石山| 华蓥市| 横山县| 白山市| 拜城县| 襄汾县| 蕉岭县| 江西省| 宁都县| 南通市| 武义县| 浑源县| 得荣县| 抚松县| 杂多县| 卓尼县| 洱源县| 新晃| 麦盖提县| 周宁县| 通化市| 贵南县| 砀山县| 湘潭县| 修武县| 顺昌县| 康乐县| 晴隆县| 滨海县|