网站制作留言板功能怎样过滤敏感词汇?过滤敏感词敏感词是指网站管理者为了正常经营,减少不必要的纠纷,消除不良影响,人为设定的一些较易引起人们歧义的词汇。当系统或管理员发现帖子里含有特定的敏感词汇时,该帖会自动被限制发表或删除。深圳网站制作公司认为一般来说,敏感词主要包括以下几类:
★ 党和国家领导人。
★ 宗教信仰敏感词汇。
★ 关于群体事件的词汇,如上访、静坐、示威、游行、双规等。
★ 突发性事件。这类突发性事件一般是指网络突发事件,如重大事件的当事人,管理员有权将其设为敏感词,而不能发表。一个词汇是否可以作为禁用词汇,在概念上并没有明确的规定,只有网站的管理员可以结合自身网站的特点、社会与外界的各方面因素进行自定义设管,设置成功后将自动生效。很多微博、论坛、评论、贴吧都有过滤敏感词的功能。过滤敏感词通常使用一对一的过滤形式。例如,要过滤“色情”这个词汇,那么就是考虑内容里边是否包含“色情”这个词,对于敏感词过滤,本系统主要使用正则表达式preg_match()函数实现。preg_match()函数用来在字符串中搜索所有与给出的正则表达式匹配的内容,如果存在则返回true,否则返回false。基本语法如下:
intpreg_match(string$pattern,string$subject[,array&$matches[,int$flags=0[,int$offset=0]]])参数说明如下。
★ pattern:要搜索的模式,字符串类型。
★ subject:输入字符串。
★ matches:如果提供了参数matches,它将被填充为搜索结果。$matches[0]将包含完整模式匹配到的文本,$matches[1]将包含第一个捕获子组匹配到的文本,依此类推。
★ flags:flags可以被设置为以下标记值。PREG_OFFSET_CAPTURE如果传递了这个标记对于每一个出现的匹配返回时会附加字符串偏移量,相对于目标字符串。
★ offset:默认搜索从目标字符串的开始执行,可选参数offset用于指定从目标字符串的某个未知开始搜索(单位是字节)。preg_match()函数返回pattern的匹配次数。它的值将是0次(不匹配)或1次,因为preg_match()在第一次匹配后将会停止搜索,preg_match_all()不同于此,它会一直搜索subject直到到达结尾。如果发生错误,preg_match()返回false。
本系统实现过滤敏感词的实现方法如下:首先,应用file()函数读取存储在文本文件中的敏感词汇,每个敏感词独立成一行,并将其存储在数组$file_word中。然后,应用For循环语句自动读取数组元素敏感词,直接通过正则表达式检验用户提交的留言信息是否含有敏感词。
当用户发表留言信息后,提交留言信息时,将留言信息与存储在数组中的敏感词进行对比,如果留言信息中含有敏感词,那么将弹出提示信息,否则留言信息发布成功。实现敏感词过滤的关键代码如下(note_check.php):preg_match()函数中的"/i",是指在进行敏感词汇比较时不区分字母大小写。在用户提交留言信息后,系统将签写的留言信息与系统设定的敏感词进行一一对比,如果在用户签写的留言信息中存在敏感词,例如设置“游行”为敏感词,则当留言中出现“游行”一词时,就会弹出留言中含有敏感词的警告信息,如图22.6所示。
好了,网站制作公司本文关于“网站制作留言板功能怎样过滤敏感词汇?”的实操方法就分享到这里,谢谢关注,博纳网络编辑整理。