用于比较字符串和另一个字符串的php脚本

时间:2013-07-16 12:56:22

标签: string compare

我试图阻止用户在我的网站上使用php重复发帖 要做到这一点我检查用户输入的标题与数据库中的标题字段,如果在数据库系统中找到此标题的记录显示错误消息给用户,但有些用户更改标题的小字符,例如一些用户更改字符位置,如下所示:

主标题:microsoft office lite(x86,x64)

change by user: microsoft office lite( x64,x86) 
change by user: microsoft office_lite( x86,x64)   
change by user: microsoft office_lite( x64,x86)  
change by user: microsoft office lite by rob( x64,x86)    

无论如何要检查这个?

1 个答案:

答案 0 :(得分:0)

您可以使用php函数similar_text计算两个字符串之间的相似度(百分比):

$str1 = 'microsoft office lite(x86,x64)';
$str2 = 'microsoft office lite( x64,x86)';
similar_text($str1, $str2, $percent);
if (percent < 95) {
    // accept it
} else {
    // error message
}

或(我的推荐方式),使用正则表达式(http://php.net/manual/en/function.preg-match.php)从空格和其他不需要的单词中删除字符串(例如:xxxx)

您也可以使用这两种方法来防止小的变化(例如排列)。

http://www.php.net/manual/en/function.similar-text.php