Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Работа с номером
Форумы портала PHP.SU » » Вопросы новичков » Работа с номером

Страниц (1): [1]
 

1. Gerd - 16 Августа, 2018 - 01:55:55 - перейти к сообщению
print_r(str_replace('/(\d{1})(\d{3})(\d{3})(\d{2})(\d{2})+/g', '$1 ($2) $3 $4 $5', '55555555555'));

Почему неработает?
2. Строитель - 16 Августа, 2018 - 12:47:55 - перейти к сообщению
Gerd пишет:
Почему неработает?
Как минимум потому, что вместо str_replace() нужно использовать preg_replace(). И ещё - модификатор g в пхп не поддерживается.
3. Gerd - 16 Августа, 2018 - 15:48:56 - перейти к сообщению
print_r(preg_replace('/(\d{1})(\d{3})(\d{3})(\d{2})(\d{2})+/', '$1 ($2) $3 $4 $5', '5555555555'));

не могу разобраться, почему если длина меньше 11. Не работает?
4. andrewkard - 16 Августа, 2018 - 16:18:51 - перейти к сообщению
preg_replace
Цитата:

Выполняет поиск совпадений в строке subject с шаблоном pattern и заменяет их на replacement.
5. Gerd - 16 Августа, 2018 - 18:58:51 - перейти к сообщению
Имеется ли какой другой способ разбора номера. Который приводил строчку в необходимый ормат отображения вне зависимости сколько симфолов в строчке?
6. Строитель - 16 Августа, 2018 - 21:01:12 - перейти к сообщению
Gerd пишет:
Имеется ли какой другой способ разбора номера. Который приводил строчку в необходимый ормат отображения вне зависимости сколько симфолов в строчке?
А какой формат вы считаете "необходимым"? Я ни из прошлой вашей темы, ни из этой, так и не понял, чего же вы пытаетесь добиться. Ваш пример вполне корректно отрабатывает
Спойлер (Отобразить)
7. Gerd - 17 Августа, 2018 - 19:10:12 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. print_r(preg_replace('/(\d{2})(\d{3})(\d{3})(\d{2})(\d{2})+/', '$1 ($2) $3 $4 $5', '+55555555555'));


как так экранировать '+'?
8. Строитель - 17 Августа, 2018 - 20:10:55 - перейти к сообщению
Gerd, как и всегда экранируется "\+"

 

Powered by ExBB FM 1.0 RC1