我想比较三个字符串:
"a text string" //target string
"a kind of similar text string"
"the cow jumps over the moon"
并设置一个百分比参数,该参数返回与目标类似的x%的结果。
$results = compare($array,$target,80)
$results // Returns an array with str 1,2, because they are at least 80 similar to the target.
此外,在JavaScript或jQuery中是否有类似的功能?
答案 0 :(得分:5)
在PHP中,有函数similar_text
。至于JavaScript,有PHP.js project,它在JavaScript中重新实现PHP函数。它们具有您可以使用的similar_text
实现。
JavaScript实现似乎不支持百分比参数。
答案 1 :(得分:3)
您正在寻找的功能是similar_text。
它需要一个可选的第三个参数(通过引用传递),其中放置了百分比差异。
在您的情况下,应执行以下操作:
// Returns true if $str1 is at least $pct similar to $str2, otherwise false.
function compare($str1, $str2, $pct)
{
$p = 0;
similar_text($str1, $str2, $p);
return ($p >= $pct);
}