У меня есть регулярное выражение которое содержит внешние данные, если из внешних данных поступит строка содержащая служебные символы регулярного выражения, то это покоцает весь паттерн, пытался найти встроенную функцию для экранирования символов в многобайтовых строках- не нашел. Как экранировать символы регулярного выражения?
Пример:
function f(string $data)
{
//Здесь сначала нужно экранировать символы в строке, но как это сделать?
$data = screening($data);
//Затем передать в паттерн регулярного выражения
$pattern = "^{$data}+|{$data}+$";
}