170 похожих чатов

Доброго вечера, может мне кто-то объяснить, почему так неожиданно работает

preg_replace, вот регулярочка:

preg_replace("/([\s\pP])(495)([\s\pP])/ui","$1...$3","+7 (495) 359-02-47") она делает все правильно:
+7 (...) 359-02-47

но на деле вместо точек будут цифры, то есть: "$1495$3"
в мануале по этому четко сказано - использовать ${1} и ${3}, ок, делаю:
preg_replace("/([\s\pP])(495)([\s\pP])/ui","${1}...${3}","+7 (495) 359-02-47")
и получаю:
+7 ... 359-02-47

Куда скобки делись? Кто встречался?

11 ответов

8 просмотров

вы на https://regex101.com/ отлаживать пробовали? очень удобно

Потому что надо использовать правильные кавычки, а не всегда двойные. Проверяй. preg_replace('/([\s\pP])(495)([\s\pP])/ui','${1}...${3}','+7 (495) 359-02-47')

Dimases
огромное спасибо. понял =)

ну и при разработке включай вывод ВСЕХ ошибок. Так ты бы увидел варнинги о несуществующих переменных.

Dimases- Автор вопроса
Владимир Блискун
ну и при разработке включай вывод ВСЕХ ошибок. Так...

может еще знаете, ловлю пробел после всех чисток в начале одной строки. чищу strip_tags, после этого от лишних символов и повторяющихся пробелов: $v=str_replace(["\r","\n","\t"]," ",$v); $v=preg_replace("/\s{1,}/u"," ",$v); return trim($v); но все равно на дампе у одной только строки вижу: " Выражаю свое согласие..." UTF-8 пробелы чистятся, но что это? причем, если делаю $v=preg_replace("/\s{1,}/u","",$v); то он тоже прибивается. Что за чудеса?

Dimases
может еще знаете, ловлю пробел после всех чисток в...

ты меняешь 1 и более пробелов на 1. У тебя в начале строки остается 1 пробел. Что не так?

Dimases
а trim?

скинь свой текст файлом мне в личку

Dimases- Автор вопроса

Похожие вопросы

Обсуждают сегодня

Комрады, посоветуйте, куда копать? Стал прикручивать кастомизацию тем. В OnShow главной главной формы пытаюсь загрузить из файла настроек и применить тему (на скрине, как долж...
Ed Doc
13
Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
OnShow один раз вызывается? или возможен Hide?
Iluha Companets
14
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
🥹сениоры нужна помощь. Столкнулся с интересным. Сайт на 1.4 весь в вирусах. Просканировал почистил вроде. Можно конечно скачать развернуть на опенсервере, но пока пробую на ко...
Alexander Grishin 👽
3
@sand_witch скорее к тебе вопрос, добавил в .cabal webdriver-w3c и вот такая ошибка от nix develop error: Package ‘script-monad-0.0.4’ in /nix/store/7vdxbra0kwbr0ys0kc5...
Fedor
5
Карта сайта