Я хочу проверить две строки. Я хочу использовать метод для проверки сходства или соответствия между двумя строками.
Пример:
$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";
Результат не совпадает, потому что обе строки не имеют одно и то же ключевое слово.
Какой метод я могу использовать?
Вы можете попробовать это —
$str1 = "Samsung Galaxy Note 4";
$str2 = "Samsung Galaxy Note5 Black Smartphone";
if(strpos(str_replace(' ', '', $str2), str_replace(' ', '', $str1)) !== 0) {
echo "Not Matched!";
}
Для приведенных вами примеров это должно работать.
Поскольку вы сопоставляете ПРИМЕЧАНИЕ 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";
}
Ты можешь использовать 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";
}