Strpos, stripos, str_contains
Glossary overview

Strpos, stripos, str_contains

Чтобы проверить, содержится ли одно слово (или подстрока) в другой строке, в 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+.