Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Обратные ссылки в preg_match


Автор: agudovich 13.1.2012, 14:34
Здравствуйте!
Не могу никак разобраться в чем дело. Есть код:

Код

$str = "hello";

$pattern = "/(l)\1/";
$matches = array();

$answer = preg_match($pattern, $str, $matches);

echo $answer;

выводит

Код

0


если заменить \1 на \g{1} или \g1 все работает выводит ответ:

Код

1

Почему так?

Автор: ksnk 13.1.2012, 18:51
Все дело в волшебных пузырьках слешах
Будет работать 
Код

$pattern = '/(l)\1/';

или
Код

$pattern = "/(l)\\1/";

Автор: agudovich 13.1.2012, 19:44
Спасибо! Работает!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)