Проверьте и сравните две строки в переполнении стека

Я хочу проверить две строки. Я хочу использовать метод для проверки сходства или соответствия между двумя строками.

Пример:

$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";

Результат не совпадает, потому что обе строки не имеют одно и то же ключевое слово.

Какой метод я могу использовать?

-1

Решение

Вы можете попробовать это —

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

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

Для приведенных вами примеров это должно работать.

0

Другие решения

Поскольку вы сопоставляете ПРИМЕЧАНИЕ 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";
}
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";
}

демонстрация

0
По вопросам рекламы [email protected]