求帮助,PHP扫描匹配关键字

goodjiangyuan 2015-04-11 11:41:49
请问一下怎么用PHP实现以下功能:从txt中取出一个词后,与数据库进行关键字匹配,找出是否存在这个词。
其实是一个敏感字检测系统,从网络爬虫上爬到内容,提取关键字后保存为txt文件,接着就要对这个txt文件进行检测,看有没有存在非法的
...全文
129 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2015-04-11
  • 打赏
  • 举报
回复
提取关键字后保存为txt文件,然后用该词与数据库保存的词比较 是这个意思吗? 如果是单个词,直接比较就是了 .... where word=’word' 如果是多个词,那就用逗号连接成串 .... where find_in_set(word, '连接后的串') 问题恐怕没有这么简单,既然是 从网络爬虫上爬到内容 那么你如何提取 关键字 呢?如果恰好将非法关键字给切断了呢? 所以,应该是将已知非法关键字制作成词典(比如 trie 树),这样只需对外来的内容做一趟扫描就可以了 有关 trie 树的讨论,精华区有收录。你可以参考一下
傲雪星枫 2015-04-11
  • 打赏
  • 举报
回复

/*纪录非法关键字表的结构
id
key
*/

$txt = file_get_contents('test.txt'); // 文章内容

// 读取非法关键字表
$sqlstr = "select * from table";
$query = @mysql_query($sqlstr) or die(mysql_error());
$keys = array();
while($thread = mysql_fetch_assoc($query)){
    $keys[] = $thread['key'];
}

// 纪录文章中包含的非法关键字
$result = array();

foreach($keys as $k=>$v){
    if(strpos($txt, $key)!==false){
        array_push($result, $key);
    }
}

// 打印文章中包含的非法关键字
print_r($result);
goodjiangyuan 2015-04-11
  • 打赏
  • 举报
回复
请问一下通过哪些函数可以实现这个功能,能具体说一下吗?拜托了
goodjiangyuan 2015-04-11
  • 打赏
  • 举报
回复
你讲的很对!有详细代码参考一下吗?或者具体说一下要包含哪些个参数,谢谢!

21,892

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧