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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Работа с номером

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Gerd
Отправлено: 16 Августа, 2018 - 01:55:55
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 650
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)

[+][+][+]


print_r(str_replace('/(\d{1})(\d{3})(\d{3})(\d{2})(\d{2})+/g', '$1 ($2) $3 $4 $5', '55555555555'));

Почему неработает?
 
 Top
Строитель Модератор
Отправлено: 16 Августа, 2018 - 12:47:55
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




Gerd пишет:
Почему неработает?
Как минимум потому, что вместо str_replace() нужно использовать preg_replace(). И ещё - модификатор g в пхп не поддерживается.
 
 Top
Gerd
Отправлено: 16 Августа, 2018 - 15:48:56
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 650
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)

[+][+][+]


print_r(preg_replace('/(\d{1})(\d{3})(\d{3})(\d{2})(\d{2})+/', '$1 ($2) $3 $4 $5', '5555555555'));

не могу разобраться, почему если длина меньше 11. Не работает?
 
 Top
andrewkard
Отправлено: 16 Августа, 2018 - 16:18:51
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




preg_replace
Цитата:

Выполняет поиск совпадений в строке subject с шаблоном pattern и заменяет их на replacement.

(Отредактировано автором: 16 Августа, 2018 - 17:20:09)

 
 Top
Gerd
Отправлено: 16 Августа, 2018 - 18:58:51
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 650
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)

[+][+][+]


Имеется ли какой другой способ разбора номера. Который приводил строчку в необходимый ормат отображения вне зависимости сколько симфолов в строчке?
 
 Top
Строитель Модератор
Отправлено: 16 Августа, 2018 - 21:01:12
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




Gerd пишет:
Имеется ли какой другой способ разбора номера. Который приводил строчку в необходимый ормат отображения вне зависимости сколько симфолов в строчке?
А какой формат вы считаете "необходимым"? Я ни из прошлой вашей темы, ни из этой, так и не понял, чего же вы пытаетесь добиться. Ваш пример вполне корректно отрабатывает
Спойлер (Отобразить)
 
 Top
Gerd
Отправлено: 17 Августа, 2018 - 19:10:12
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 650
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)

[+][+][+]


PHP:
скопировать код в буфер обмена
  1. print_r(preg_replace('/(\d{2})(\d{3})(\d{3})(\d{2})(\d{2})+/', '$1 ($2) $3 $4 $5', '+55555555555'));


как так экранировать '+'?
 
 Top
Строитель Модератор
Отправлено: 17 Августа, 2018 - 20:10:55
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




Gerd, как и всегда экранируется "\+"
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB