PHP實(shí)現(xiàn)通過中文字符比率來判斷垃圾評(píng)論的方法
本文實(shí)例講述了PHP實(shí)現(xiàn)通過中文字符比率來判斷垃圾評(píng)論的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
一、需求:
最近一段時(shí)間常常出現(xiàn)這類垃圾評(píng)論:一大段英文字符里夾雜一兩個(gè)生僻漢字,包含了中文字符,而且又沒包含啥中文的敏感詞,所以就堂而皇之的通過了評(píng)論過濾。對(duì)這類評(píng)論的處理可以采取判斷中文字符的比率來確認(rèn),但是也會(huì)存在一定的誤判。
二、解決方案:
要用到php的兩個(gè)函數(shù)strlen和mb_strlen,strlen會(huì)把單個(gè)漢字長(zhǎng)度認(rèn)定為3,mb_strlen單個(gè)漢字長(zhǎng)度為1。同一段字符通過兩個(gè)函數(shù)取得的長(zhǎng)度之差就是實(shí)際漢字字符數(shù)的二倍,除以二就得到實(shí)際的字符數(shù),在與mb_strlen取得的長(zhǎng)度求比值就得到漢字占總字符數(shù)的比率。
三、實(shí)現(xiàn)代碼:
$len_st = mb_strlen($comment['text'], 'UTF-8');
if(($len_all-$len_st)/(2*$len_st) < 0.5){
$error = "中文字符少于百分之五十";
}
如果在評(píng)論中貼代碼的話,就會(huì)造成中文字符比率低,需要過濾掉代碼字段再來判斷。
希望本文所述對(duì)大家的PHP程序設(shè)計(jì)有所幫助。
- 詳解WordPress中調(diào)用評(píng)論模板和循環(huán)輸出評(píng)論的PHP函數(shù)
- 講解WordPress中用于獲取評(píng)論模板和搜索表單的PHP函數(shù)
- 編寫PHP腳本來實(shí)現(xiàn)WordPress中評(píng)論分頁(yè)的功能
- 修改PHP腳本使WordPress攔截垃圾評(píng)論的方法示例
- PHP結(jié)合jQuery實(shí)現(xiàn)的評(píng)論頂、踩功能
- 使用AngularJS和PHP的Laravel實(shí)現(xiàn)單頁(yè)評(píng)論的方法
- ThinkPHP上使用多說評(píng)論插件的方法
- PHP用strstr()函數(shù)阻止垃圾評(píng)論(通過判斷a標(biāo)記)
- php中使用Akismet防止垃圾評(píng)論的代碼
- 在PHP站點(diǎn)的頁(yè)面上添加Facebook評(píng)論插件的實(shí)例教程
相關(guān)文章
PHP連接數(shù)據(jù)庫(kù)實(shí)現(xiàn)簡(jiǎn)單的登錄頁(yè)面功能
這篇文章主要介紹了PHP連接數(shù)據(jù)庫(kù)實(shí)現(xiàn)簡(jiǎn)單的登錄頁(yè)面功能,文中的示例代碼講解詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,感興趣的可以了解一下2023-09-09一個(gè)PHP二維數(shù)組排序的函數(shù)分享
二維數(shù)組在PHP開發(fā)中經(jīng)常遇到,但是他的排序就不如一維數(shù)組那樣用內(nèi)置函數(shù)來的方便了,下面為大家詳細(xì)介紹下2014-01-01php實(shí)現(xiàn)的美國(guó)50個(gè)州選擇列表實(shí)例
這篇文章主要介紹了php實(shí)現(xiàn)的美國(guó)50個(gè)州選擇列表實(shí)例,可實(shí)現(xiàn)讓當(dāng)前州為選中狀態(tài)的功能,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04PHP設(shè)計(jì)模式之建造者模式定義與用法簡(jiǎn)單示例
這篇文章主要介紹了PHP設(shè)計(jì)模式之建造者模式定義與用法,簡(jiǎn)單描述了建造者模式的概念、原理并結(jié)合實(shí)例形式分析了建造者模式的具體定義與使用方法,需要的朋友可以參考下2018-08-08php number_format() 函數(shù)通過千位分組來格式化數(shù)字的實(shí)現(xiàn)代碼
以下是對(duì)php中的number format()函數(shù)通過千位分組來格式化數(shù)字的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下2013-08-08php訪問數(shù)組最后一個(gè)元素的函數(shù)end()用法
這篇文章主要介紹了php訪問數(shù)組最后一個(gè)元素的函數(shù)end()用法,實(shí)例分析了php中end函數(shù)訪問數(shù)組元素的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03PHP使用數(shù)組實(shí)現(xiàn)隊(duì)列
PHP的數(shù)組處理函數(shù)還可以將數(shù)組實(shí)現(xiàn)隊(duì)列,堆棧是“先進(jìn)后出”。在堆棧中,最后壓入的數(shù)據(jù)(進(jìn)棧),將會(huì)被最先彈出(出棧)。而隊(duì)列是先進(jìn)先出,就如同銀行的排號(hào)機(jī)2012-02-02