PHP.SU

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


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

> Без описания
aleusandrp
Отправлено: 31 Октября, 2016 - 11:07:37
Post Id


Новичок


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


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




Есть 3 номера
(1) 555-555-555 - правильный
(2) 55g-555-555 - не правильный. Должен стать 55-555-555
(3) 555--555-555 - не правильный. Должен стать 555-555-555
Написал выражение
$data[8] = preg_replace('/[^0-9-]/', '', $data[8]);
Он исправляет (2), но не удаляет второй тире в (3).

Как исправить?
 
 Top
DlTA
Отправлено: 31 Октября, 2016 - 11:30:10
Post Id



Постоянный участник


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


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




убери все левые символы, а потом проставь терешки, обычно люди тупят, и не хотят их ставить.
 
 Top
kuller
Отправлено: 01 Ноября, 2016 - 12:28:47
Post Id



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


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


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




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $phone = '555--555-555';
  4. $phone = preg_replace('|([-]+)|s', '-', $phone); // удаление повторяющихся тире
  5.  
  6. echo $phone;
  7.  

?>

(Отредактировано автором: 01 Ноября, 2016 - 12:33:59)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Регулярные выражения »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB