做信息发布类网站的站长大多数要遇到很多用户发布一模一样的帖子,以增加自身信息的曝光率,而作为网站管理员来说,除了利用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的函数库太强大了。
from http://www.piaoyi.org/php/php-similar_text.html
延伸阅读
- PHP路径问题及其解决方法(包含路径问题的解决方案/目录规划)
- iis下PHP扩展安装scws手记/PHP Startup: Unable to load dynami library
- php获取客户端IP地址方法大汇总
- php下数据库持久连接,及apache模块下“数据库并发连接数超限”的潜在风险
- PHP开源搜索引擎
- DiscuzX!1.5/2.0 新版状态字段解释/forum_thread,forum_post表中status,displayorder,invisible字段
- windows下安装多个不同版本的apache+php/多版本共存
- 提高PHP编程效率的53个要点
- 从linux kernel coding style看php代码规范
- PHP_带smtp验证的发邮件函数
- MySQL函数 GROUP_CONCAT,相当有用
- vbscript/asp函数:extract_by_str,指定起止字符串在字符串中截取子串
- php进制转换函数
- MySQL几个重要日期时间函数/时间戳
- javascript实现Base64编码与解码函数
0 条评论。