简体   繁体   中英

Check if strings are x% equal

I want to compare three strings:

"a text string" //target string
"a kind of similar text string"
"the cow jumps over the moon"

And set a percentage parameter that returns the results that are x% similar to the target.

$results = compare($array,$target,80)

$results // Returns an array with str 1,2, because they are at least 80 similar to the target.

Also, is a similar function possible in JavaScript or jQuery?

In PHP, there is the function similar_text . As for JavaScript, there's the PHP.js project , which re-implements PHP functions in JavaScript. They have an implementation of similar_text you can use.

The JavaScript implementation doesn't support the percent parameter, it seems.

The function you're looking for is similar_text .

It takes an optional 3rd parameter (passed by reference) where the percentage difference is placed.

In your situation, the following should do:

// 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);
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM