本文實例講述了PHP實現通過中文字符比率來判斷垃圾評論的方法。分享給大家供大家參考。具體實現方法如下:
一、需求:
最近一段時間常常出現這類垃圾評論:一大段英文字符裡夾雜一兩個生僻漢字,包含了中文字符,而且又沒包含啥中文的敏感詞,所以就堂而皇之的通過了評論過濾。對這類評論的處理可以采取判斷中文字符的比率來確認,但是也會存在一定的誤判。
二、解決方案:
要用到php的兩個函數strlen和mb_strlen,strlen會把單個漢字長度認定為3,mb_strlen單個漢字長度為1。同一段字符通過兩個函數取得的長度之差就是實際漢字字符數的二倍,除以二就得到實際的字符數,在與mb_strlen取得的長度求比值就得到漢字占總字符數的比率。
三、實現代碼:
復制代碼 代碼如下: $len_all = strlen($comment['text']);
$len_st = mb_strlen($comment['text'], 'UTF-8');
if(($len_all-$len_st)/(2*$len_st) < 0.5){
$error = "中文字符少於百分之五十";
}
如果在評論中貼代碼的話,就會造成中文字符比率低,需要過濾掉代碼字段再來判斷。
希望本文所述對大家的PHP程序設計有所幫助。