addlashes () для preg_replace () и co. - PullRequest
       14

addlashes () для preg_replace () и co.

4 голосов
/ 17 декабря 2009

Как я могу избежать входящих данных, чтобы я мог использовать их в качестве шаблона в preg_replace() и consorts? Например, мне нужно сопоставить эту строку:

/vorschau/

Очевидно, мне нужно экранировать "v", иначе я получу ошибку.

Я не могу найти ничего в документации. Есть ли какой-то addslashes() для этого или обходной путь в выражении?

Ответы [ 2 ]

21 голосов
/ 17 декабря 2009

Если я правильно понимаю ваш вопрос, вы ищете preg_quote:

string preg_quote  ( string $str  [, string $delimiter = NULL  ] )

preg_quote() берет str и ставит обратная косая черта перед каждым персонажем это часть регулярного выражения синтаксис.
Это полезно, если у вас есть строка времени выполнения, которая вам нужна совпадение в некотором тексте, и строка может содержат специальные символы регулярного выражения.

Специальное регулярное выражение символы: . \ + * ? [ ^ ] $ ( ) { } = ! < > | : -

0 голосов
/ 17 декабря 2009

Кажется, что вы хотите preg_quote, но, возможно, вам следует более подробно описать вашу ситуацию, поскольку вполне возможно, что то, что вы пытаетесь сделать, могло бы быть сделано лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...