Escape пользовательский ввод для разбора Regex

У меня есть веб-сайт, где пользователи могут искать текстовые файлы из формы ввода. Сайт публикует результаты поиска на сервере, где он shell_exec grep -E "^(LOG|DATE)+.$query" введите команду.

Файл журнала содержит специальные символы, такие как `[(и, если пользователь хочет, должен иметь возможность их искать.

Проблема в том, что определенные символы «ломают» функцию grep. Есть ли список символов, которые мне нужно экранировать перед обработкой данных или встроенная функция? escapeshellarg не работает в этом случае, и я не мог найти список онлайн символов, которые должны быть экранированы

0

Решение

Поскольку вы используете PHP, используйте preg_match('/patern/', $str);.
Чтобы экранировать строку для регулярного выражения, используйте preg_quote($str)

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector