У меня есть веб-сайт, где пользователи могут искать текстовые файлы из формы ввода. Сайт публикует результаты поиска на сервере, где он shell_exec grep -E "^(LOG|DATE)+.$query"
введите команду.
Файл журнала содержит специальные символы, такие как `[(и, если пользователь хочет, должен иметь возможность их искать.
Проблема в том, что определенные символы «ломают» функцию grep. Есть ли список символов, которые мне нужно экранировать перед обработкой данных или встроенная функция? escapeshellarg
не работает в этом случае, и я не мог найти список онлайн символов, которые должны быть экранированы
Поскольку вы используете PHP, используйте preg_match('/patern/', $str);
.
Чтобы экранировать строку для регулярного выражения, используйте preg_quote($str)
Других решений пока нет …