Как проверить, содержит ли строка определенное СЛОВО целиком в PHP

Подскажите пожалуйста, как проверить содержит ли строка определенное слово?

Есть код:

if(strpos('Получились отличные спагетти', 'спа') !== false){
    echo "ДА";
} else{
    echo "НЕТ";
}

Нужно чтобы было "НЕТ", но в результате получается "ДА".


Ответы (1 шт):

Автор решения: Алексей Шиманский
$string = 'Получились отличные спагетти';
$word = 'спа';

if (preg_match("/\b$word\b/u", $string)) {
    echo "ДА";
} else{
    echo "НЕТ";
}

При $word = 'спа'; выдаст "НЕТ", при $word = 'спагетти'; выдаст "ДА". Теперь вместо $string подставляем нужную строку, а вместо $word - то, что пытаемся найти в строке


\b - в регулярках означает "Граница слова"

→ Ссылка