Пытаюсь занести данные из текстового файла в file
в массив и сравнить. Но столкнулся с проблемой, что с кириллицей ничего не работает. Если текст в текстовом файле на английском, то все отлично, а если на русском in_array
отказывается работать.
Файл обработчик:
$text = $_POST["chat"];
if (in_array($text, file(names.txt))) {
echo "Совпадение найдено!";
//какой-то еще код
}
Файл names.txt
:
Заказ
Оформление
Договор
Функция file()
разбивает файл на строки и помещает их в массив. НО(!!!) символ завершения строки не удаляет. Соответственно ваш файл преобразуется в массив:
["Заказ\n",
"Оформление\n",
"Договор\n"]
Для того, чтобы избежать этой ситуации, необходимо использовать флаг FILE_IGNORE_NEW_LINES
(ну и FILE_SKIP_EMPTY_LINES
тоже полезно добавить)
Соответственно:
file(names.txt, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Интересует вопрос по плагину: Contextual Related Posts Мне нужно выводить с помощью do_shortcode() связанные посты, но проблема в том, что если необходимо найти...
Как можно динамически изменять значения в мультиселекте, при условии, что есть поля в json? есть экшн, возвращающий json с районами, в зависимости...
Пытаюсь сообразить, как можно реализовать следующую задачу: