Как вы используете обратные ссылки на PCREs в PHP? - PullRequest
3 голосов
/ 19 августа 2008

Я прочитал эту страницу PHP RegEx , но либо я что-то упускаю, что-то неправильно понимаю, либо это не работает так, как они говорят. Я предполагаю, что это один из первых двух.

$str = preg_replace("([|]\d*)", "\1;", $str);

1 Ответ

4 голосов
/ 19 августа 2008

Ваше регулярное выражение должно следовать синтаксису Perl, то есть оно должно начинаться и заканчиваться одним и тем же символом (за некоторыми исключениями). Кроме того, обратная ссылка должна начинаться с двойной косой черты, чтобы обойти двойное экранирование PHP. Это должно работать (с быстрым тестом):

$str = "asdfasdf |123123 asdf iakds |302 asdf |11";
$str = preg_replace("/([|]\d*)/", "\\1;", $str);
echo $str; // prints "asdfasdf |123123; asdf iakds |302; asdf |11;"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...