Чтобы проверить, содержится ли одно слово (или подстрока) в другой строке, в PHP есть несколько способов. Давай разберём самый простой и понятный путь:
✅ 1. strpos() — регистр важен
$text = "я сегодня пошел покупать яблоко";
$search = "Яблоко";
if (strpos($text, $search) !== false) {
echo "Слово найдено!";
} else {
echo "Слова нет.";
}
👉 ВАЖНО: strpos() вернёт false, если слово не найдено. Но если оно находится в самом начале строки, strpos() вернёт 0, а 0 в PHP считается как false. Поэтому нужно писать !== false, а не просто if (strpos(...)).
✅ 2. stripos() — регистр не важен
$text = "я сегодня пошел покупать яблоко";
$search = "Яблоко";
if (stripos($text, $search) !== false) {
echo "Слово найдено!";
} else {
echo "Слова нет.";
}
Это как strpos(), но без учёта регистра, и в твоем примере именно stripos() подойдёт, потому что Яблоко и яблоко — одно и то же слово, просто в разном регистре.
💡 Альтернатива (через str_contains() с PHP 8+)
Если у тебя PHP 8.0 или новее, можно использовать функцию:
if (str_contains(mb_strtolower($text), mb_strtolower($search))) {
echo "Слово найдено!";
}
Функция str_contains() тоже возвращает true/false. Она проще, но в PHP 8+.
