Форумы портала PHP.SU » PHP » Регулярные выражения » Удалить лишние символы из номера телефона

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

1. aleusandrp - 31 Октября, 2016 - 11:07:37 - перейти к сообщению
Есть 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).

Как исправить?
2. DlTA - 31 Октября, 2016 - 11:30:10 - перейти к сообщению
убери все левые символы, а потом проставь терешки, обычно люди тупят, и не хотят их ставить.
3. kuller - 01 Ноября, 2016 - 12:28:47 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $phone = '555--555-555';
  4. $phone = preg_replace('|([-]+)|s', '-', $phone); // удаление повторяющихся тире
  5.  
  6. echo $phone;
  7.  

?>

 

Powered by ExBB FM 1.0 RC1