Привет, я пытаюсь объединить строку перед преобразованием этой строки в регулярное выражение в PHP, но проблема в том, что она не отображается должным образом. Я искал с помощью Google и узнал о preg_quote, Проблема в том, что это не работает хорошо.
Вот мой пример:
$mystring = "banana"; // put this to a variable assume this value is dynamic
$regex_str = "/^"$mystring"\-[a-z0-9]\-[a-z0-9]$/";
//Im expecting expecting /^banana\-[a-z0-9]\-[a-z0-9]$/
$regex = preg_quote($regex_str);
но то, что я получаю, это:
/\^banana\\\-\[a\-z0\-9\]\\\-\[a\-z0\-9\]\$/
и всегда возвращает неправильное значение.
Вызов preg_quote()
в строке, которую вы добавляете перед добавлением в регулярное выражение:
$mystring = "banana";
$regex_str = "/^" . preg_quote($mystring, "/") . "\-[a-z0-9]\-[a-z0-9]$/";
Привет, я пытаюсь объединить строку перед преобразованием этой строки в регулярное выражение в PHP, но проблема в том, что она не отображается должным образом. Я искал с помощью Google и узнал о preg_quote, Проблема в том, что это не работает хорошо.
Вот мой пример:
$mystring = "banana"; // put this to a variable assume this value is dynamic
$regex_str = "/^"$mystring"\-[a-z0-9]\-[a-z0-9]$/";
//Im expecting expecting /^banana\-[a-z0-9]\-[a-z0-9]$/
$regex = preg_quote($regex_str);
но то, что я получаю, это:
/\^banana\\\-\[a\-z0\-9\]\\\-\[a\-z0\-9\]\$/
и всегда возвращает неправильное значение.
Вызов preg_quote()
в строке, которую вы добавляете перед добавлением в регулярное выражение:
$mystring = "banana";
$regex_str = "/^" . preg_quote($mystring, "/") . "\-[a-z0-9]\-[a-z0-9]$/";