检查并比较PHP

时间:2015-09-15 06:10:25

标签: php string string-matching

我想检查两个字符串。我想使用该方法来检查两个字符串之间的相似性或匹配。

示例:

$str1 = "Samsung Galaxy Note 5";
$str2 = "Samsung Galaxy Note5 Black Smartphone";

我希望结果匹配,因为两个字符串都有关键字“Samsung Galaxy Note 5”。

另一个例子:

$str1 = "Samsung Galaxy Note 4";
$str2 = "Samsung Galaxy Note5 Black Smartphone";

结果不匹配,因为两个字符串都没有相同的关键字。

我可以使用哪种方法?

3 个答案:

答案 0 :(得分:0)

你可以试试这个 -

$str1 = "Samsung Galaxy Note 4";
$str2 = "Samsung Galaxy Note5 Black Smartphone";

if(strpos(str_replace(' ', '', $str2), str_replace(' ', '', $str1)) !== 0) {
   echo "Not Matched!";
}

对于您提供的示例,它应该有效。

答案 1 :(得分:0)

由于您正在匹配NOTE 5和NOTE5,因此您需要替换空格并使用strpos

$str1 = "Samsung Galaxy Note 5";
$str1 = str_replace(" ", "", $str1);
$str2 = "Samsung Galaxy Note 5 Black Smartphone";
$str2 = str_replace(" ", "", $str2);

if (strpos($str2,$str1) !== false) {
    echo 'true';
}else{
echo "not found";
}

答案 2 :(得分:0)

您可以将preg_matchpreg_replace一起使用,如

$str1 = "Samsung Galaxy Note 5";
$str2 = "Samsung Galaxy Note5 Black Smartphone";

if(preg_match("/(".preg_replace('/[\h]/','',$str1).")/i",preg_replace('/[\h]/','',$str2))!==false){
    echo "match";
}

Demo