php实现敏感词过滤
2012-06-29 15:02
295 查看
中国特色的网络环境必须考虑敏感词的问题,本人最近在工作中在实现一个论坛的发帖模块的时候也遇到了这个问题。本来想通过原生的正则表达式来处理,但是考虑到php本身的正则函数已经能够很好的做到了,则自己尝试利于它实现了一个敏感词过滤的封装。主要思想是将文本中的敏感词替换为‘*’。
首先得有个文本文件,用于替换规则,每行是一个替换规则:
名称为filter.txt,其规则为将文本中等号左边的字符串替换为右边的字符串
filter.txt
用法为实例化一个Filter对象,然后调用clean方法即可。
希望可以帮到大家。
首先得有个文本文件,用于替换规则,每行是一个替换规则:
名称为filter.txt,其规则为将文本中等号左边的字符串替换为右边的字符串
filter.txt
敏感词=*** 过滤=*** ...
<?php /** * 文本中的非法字符过滤类 */ class Filter{ private $pattern; private $replacement; /** * 构造函数,进行初始化工作,加载替换规则,并构造用于模式查找和模式替换的两个数组 */ public function __construct(){ $f= fopen("filter.txt","r"); if(!$f){ die("open filter file failed!"); } while (!feof($f)) { $line = fgets($f);//从过滤规则文件中读取一行记录 $patternandreplace = explode('=', $line); //用等号分割,前面的用作模式串,后面的用作替换串 $this->pattern[] = '/'.$patternandreplace[0].'/'; $this->replacement[] = trim($patternandreplace[1]); } fclose($f); } /** * 去除$source中的敏感字符,用*替换 * @param unknown_type $source */ public function clean($source){ return preg_replace($this->pattern,$this->replacement,$source); } };
用法为实例化一个Filter对象,然后调用clean方法即可。
希望可以帮到大家。
相关文章推荐
- php实现敏感词过滤
- php敏感词过滤的简单实现方法
- PHP实现过滤留言信息中的敏感词
- [转载]敏感词过滤,PHP实现的Trie树
- PHP实现敏感词过滤系统
- PHP实现敏感词过滤系统
- 敏感词过滤,PHP实现的Trie树
- PHP实现敏感词过滤系统
- 用php实现一个敏感词过滤功能
- php实现敏感词过滤
- PHP实现敏感词过滤系统
- php实现简单的基于DFA算法的敏感词过滤
- 转,敏感词过滤,PHP实现的Trie树
- C++实现敏感词过滤(3) Filter类的实现
- 高效敏感词过滤JAVA实现(DFA算法)
- Java实现敏感词过滤 - IKAnalyzer中文分词工具
- php中使用array_filter()函数过滤空数组的实现代码
- php敏感词过滤
- 基于text(gem)的敏感词过滤的轻量级实现
- 敏感字符串加密处理(PHP实现)