Вывести слова из предложения php

99
21 июня 2021, 05:20

Почему при выводе слов:

preg_match_all('/([a-zA-Zа-яА-Я]+)/',$request->words, $word);
for ($i=0; $i < count($word[1]); $i++) echo $word[1][$i]."<br>";

Выводит следующее:

иван
РїпїЅ
козел
иван, пц, козел 

Если просто вывожу $request->words, то все нормально.

Answer 1

Кодировка может сбиваться из-за настроек вашего веб сервера. В данном случаем вам требуется вывести по отдельности все слова из строки $request->words. Могу предложить вам воспользоваться следующим кодом:

$words = explode(',', $request->words);
foreach($words as $word) {
    echo "$word\n";
}

Это поможет вам в вашей проблеме.

Если вы хотите проверять через регулярное выражение, то более правильный подход будет следующим:

$words = explode(',', $request->words);
foreach($words as $word) {
    if(preg_match("/([a-zA-Zа-яА-Я]+)/", $word)) {
        echo "$word\n";
    }
}
READ ALSO
Ошибка в запросе laravel

Ошибка в запросе laravel

почему при такой выборке

102
RedBeanPHP и PHP: поиск и вывод данных

RedBeanPHP и PHP: поиск и вывод данных

Подскажите, пожалуйста, на простом примере, как вывести список зарегистрированных пользователей из БД, используя поиск по двум критериям,...

73
Вывод записей в single.php за исключением самой записи

Вывод записей в single.php за исключением самой записи

вывожу через singlephp записи по категориям

112
Как исправить ошибку php?

Как исправить ошибку php?

Появилась такая ошибка:

91