網(wǎng)站制作留言板功能怎樣過濾敏感詞匯?過濾敏感詞敏感詞是指網(wǎng)站管理者為了正常經(jīng)營,減少不必要的糾紛,消除不良影響,人為設(shè)定的一些較易引起人們歧義的詞匯。當(dāng)系統(tǒng)或管理員發(fā)現(xiàn)帖子里含有特定的敏感詞匯時,該帖會自動被限制發(fā)表或刪除。深圳網(wǎng)站制作公司認(rèn)為一般來說,敏感詞主要包括以下幾類:
★ 黨和國家領(lǐng)導(dǎo)人。
★ 宗教信仰敏感詞匯。
★ 關(guān)于群體事件的詞匯,如上訪、靜坐、示威、游行、雙規(guī)等。
★ 突發(fā)性事件。這類突發(fā)性事件一般是指網(wǎng)絡(luò)突發(fā)事件,如重大事件的當(dāng)事人,管理員有權(quán)將其設(shè)為敏感詞,而不能發(fā)表。一個詞匯是否可以作為禁用詞匯,在概念上并沒有明確的規(guī)定,只有網(wǎng)站的管理員可以結(jié)合自身網(wǎng)站的特點(diǎn)、社會與外界的各方面因素進(jìn)行自定義設(shè)管,設(shè)置成功后將自動生效。很多微博、論壇、評論、貼吧都有過濾敏感詞的功能。過濾敏感詞通常使用一對一的過濾形式。例如,要過濾“色情”這個詞匯,那么就是考慮內(nèi)容里邊是否包含“色情”這個詞,對于敏感詞過濾,本系統(tǒng)主要使用正則表達(dá)式preg_match()函數(shù)實(shí)現(xiàn)。preg_match()函數(shù)用來在字符串中搜索所有與給出的正則表達(dá)式匹配的內(nèi)容,如果存在則返回true,否則返回false?;菊Z法如下:
intpreg_match(string$pattern,string$subject[,array&$matches[,int$flags=0[,int$offset=0]]])參數(shù)說明如下。
★ pattern:要搜索的模式,字符串類型。
★ subject:輸入字符串。
★ matches:如果提供了參數(shù)matches,它將被填充為搜索結(jié)果。$matches[0]將包含完整模式匹配到的文本,$matches[1]將包含第一個捕獲子組匹配到的文本,依此類推。
★ flags:flags可以被設(shè)置為以下標(biāo)記值。PREG_OFFSET_CAPTURE如果傳遞了這個標(biāo)記對于每一個出現(xiàn)的匹配返回時會附加字符串偏移量,相對于目標(biāo)字符串。
★ offset:默認(rèn)搜索從目標(biāo)字符串的開始執(zhí)行,可選參數(shù)offset用于指定從目標(biāo)字符串的某個未知開始搜索(單位是字節(jié))。preg_match()函數(shù)返回pattern的匹配次數(shù)。它的值將是0次(不匹配)或1次,因?yàn)閜reg_match()在第一次匹配后將會停止搜索,preg_match_all()不同于此,它會一直搜索subject直到到達(dá)結(jié)尾。如果發(fā)生錯誤,preg_match()返回false。
本系統(tǒng)實(shí)現(xiàn)過濾敏感詞的實(shí)現(xiàn)方法如下:首先,應(yīng)用file()函數(shù)讀取存儲在文本文件中的敏感詞匯,每個敏感詞獨(dú)立成一行,并將其存儲在數(shù)組$file_word中。然后,應(yīng)用For循環(huán)語句自動讀取數(shù)組元素敏感詞,直接通過正則表達(dá)式檢驗(yàn)用戶提交的留言信息是否含有敏感詞。
當(dāng)用戶發(fā)表留言信息后,提交留言信息時,將留言信息與存儲在數(shù)組中的敏感詞進(jìn)行對比,如果留言信息中含有敏感詞,那么將彈出提示信息,否則留言信息發(fā)布成功。實(shí)現(xiàn)敏感詞過濾的關(guān)鍵代碼如下(note_check.php):preg_match()函數(shù)中的"/i",是指在進(jìn)行敏感詞匯比較時不區(qū)分字母大小寫。在用戶提交留言信息后,系統(tǒng)將簽寫的留言信息與系統(tǒng)設(shè)定的敏感詞進(jìn)行一一對比,如果在用戶簽寫的留言信息中存在敏感詞,例如設(shè)置“游行”為敏感詞,則當(dāng)留言中出現(xiàn)“游行”一詞時,就會彈出留言中含有敏感詞的警告信息,如圖22.6所示。.png)
好了,網(wǎng)站制作公司本文關(guān)于“網(wǎng)站制作留言板功能怎樣過濾敏感詞匯?”的實(shí)操方法就分享到這里,謝謝關(guān)注,博納網(wǎng)絡(luò)編輯整理。