0

在 PHP 中,如何比较两个“相似”的数据?例如,在这段代码中:

$a = "cats are cool";
$b = "1. catS are cool!!!"

if($a == $b) {
    echo "TRUE";
}
else {
    echo "FALSE";
}

现在明显的输出将是“FALSE”。但是对于我想要实现的目标,只要关键字“猫很酷”在 中$b,结果应该是“真”。我该怎么做呢?

4

4 回答 4

2

如果您正在寻找完全匹配,请使用stripos().

//Note the use of !== here, it's because stripos may return 0,
//Which would be interpreted as false without strict comparison.
if (stripos($string, "cats are cool") !== false) {

    //Cats are cool indeed.

}
于 2013-11-06T17:29:05.423 回答
1

您必须定义自己的逻辑,周期。要么你寻找关键字[例如你搜索你的白名单在你的字符串中出现了多少次],要么你计算一些字符串距离度量,比如Levenshtein distance

于 2013-11-06T17:29:45.713 回答
0

如果您应该在第二个中找到第一个字符串,您可以使用strpos

于 2013-11-06T17:29:25.643 回答
0

采用stripos()

if(stripos($b,$a) !== FALSE)
echo "found";
else
echo "not found";
于 2013-11-06T17:31:47.090 回答