Я уверен, что столкнулся со встроенной функцией PHP, которая подготовит/очистит такое регулярное выражение, но я хоть убей не могу его найти. Конечно, я мог бы написать свою собственную функцию для выполнения этой задачи, но из соображений производительности (и из-за некоторого нежелания что-либо изобретать) я бы предпочел встроенную. у этой функции также был необязательный параметр, в котором вы могли укажите разделитель (и он тоже будет заменен).
Существует ли такая встроенная функция, и если да, то как ее зовут Google ищет это, например, «очистка регулярных выражений» и «построитель регулярных выражений» и т. д. не привели к тому, что я хочу. Я не раз просматривал «строковые функции» в руководстве (php 8.2) и ничего не нашел, но там так много всего, что я мог бы просмотреть. это.
Кстати, это мой примерный способ справиться с этим вручную:
Код: Выделить всё
$regExp = '%' . preg_replace('/[%.+*?^$()\[\]{}|\]/', '\\1', $userInput) . '%' ;
Подробнее здесь: https://stackoverflow.com/questions/793 ... characters