飘易博客(作者:Flymorn)
订阅《飘易博客》RSS,第一时间查看最新文章!
飘易首页 | 留言本 | 关于我 | 订阅Feed

Php比较字符串相似度函数的利用

Author:飘易 Source:飘易
Categories:PHP编程 PostTime:2010-4-24 20:02:26
正 文:
    做信息发布类网站的站长大多数要遇到很多用户发布一模一样的帖子,以增加自身信息的曝光率,而作为网站管理员来说,除了利用cookies、IP限制等技术外,我们还可以利用PHP自身带的similar_text函数来判断用户发帖内容的相似度。

    similar_text() 函数计算两个字符串的匹配字符的数目,也可以计算两个字符串的相似度(以百分比计)。

    啥话也不说了,看代码:

<?php 
require('conn.php');

$sql="select title from content order by id desc limit 20"; //判断标题相似度
$result=mysql_query($sql,$conn);
$cf=0;
while($row=mysql_fetch_array($result)){
similar_text($row['title'], $title, $percent); //比较相似度 存放于$percent
if($percent>90){$cf=1;break;} //飘易注:相似度高于90% 则判断重复
}

if($cf==1){
echo "<SCRIPT language=JavaScript>alert('抱歉!禁止发布重复信息!');";
echo "this.location.href='vbscript:history.back()';</SCRIPT>";
mysql_close();
exit();
}
?>

    这段代码非常有用,其中title字段可以扩展成其他字段,如 content 字段,也一样的比较相似度。PHP的函数库太强大了。
作者:飘易
来源:飘易
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
上一篇:浙江丽水电信劫持用户网站!
下一篇:解决Firefox不支持Js的InnerHtml问题
7条评论 “Php比较字符串相似度函数的利用”
2010-4-24 22:23:52
你好啊 落叶知秋博主吕游过来看看你,链接已经添加了兄弟! 欢迎串门
2010-4-25 16:54:41
最近拼命学习 php中……
3 秀秀
2010-6-13 16:45:50
好东东。谢谢lz的分享腌。
4 Joe Wang
2011-4-4 16:54:47
如果数据库有十几万或者更多的数据,如果发布者使用的标题相似度很低但是内容相似。那样网站会不会马上挂掉?
5 飘易
2011-4-4 18:55:18
Joe Wang:
代码里只取最新发布的N条进行比较,不仔细看代码,打PP
2011-8-25 9:50:12
与joe wang 一样的问题,如果发布者使用的标题相似度很低又该如何写而提高搜索速度?如果不只对最新发布的20条的话而是对所有数据。
7 飘易
2011-8-25 10:51:13
6 dog12:
没有必要对全表扫描吧?那样的效率是非常低的,尤其是比较大字段的时候。
发表评论
名称(*必填)
邮件(选填)
网站(选填)

记住我,下次回复时不用重新输入个人信息
© 2007-2010 飘易博客 Www.Piaoyi.Org 原创文章版权由飘易所有 渝ICP备07006361号