我想检查两个字符串。我想使用该方法来检查两个字符串之间的相似性或匹配。
示例:
$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";
结果不匹配,因为两个字符串都没有相同的关键字。
我可以使用哪种方法?
答案 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_match
与preg_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";
}