Обратный слеш
Надо это a\a заменить на !
Вот рабочий код echo preg_replace('#a\\\a#', '!', 'a\a abc'); Почему работает с тремя слешами, если должно работать только с четырьмя? 2 раза для PHP и два раза для регулярки. |
DivMan, PHP - не JS. Там и двух слешей хватит.
|
Потому что слэши "съедаются" на разных уровнях. В PHP строках \\ превращается в один обратный слэш. То есть в регулярку реально попадает a\\a. А уже внутри регулярок \\ трактуется как один \. В итоге шаблон ищет именно a\a, и совпадение находится.
Если бы писал четыре слэша в строке (a\\\\a), то в регулярку попало бы a\\a и всё равно результат был бы тем же. Три слэша — минимально достаточно для нужного эффекта. |
Часовой пояс GMT +3, время: 15:06. |