Разделить телефон на части 999-99-99-99

Печать RSS
289

Автор
Пишу, строю и воображаю
0
Формат телефонного номера 999-99-99-99. Как из 9 цифренной переменной 999999999 сделать 999-99-99-99 ? В интернете ковырялся, не нашел способа...

Пришелец
0
вроди 10 должно цифр
T

Землянин
0
<?php
preg_match("/(\([0]{1}[9]{2}\))([9]{3})-([9]{2})-([9]{2})/");
?>
Изменил: Tolikasi (23.04.2013 / 02:51)
N

Отрешенный Nervous
0
3. anatoly, А если так
<?php

preg_match("/(\([0]{9}[3]{???}\))([9]{3})-([9]{2})-([9]{2})/");

?>
Номер как в украине 9 значные.
Р

Землянин
0
 <?php $t='999999999'; //Номер
$t2=$t[0].$t[1].$t[2].'-'.$t[3].$t[4].'-'.
$t[5].$t[6].'-'.$t[7].$t[8]; //Преобразованый номер ?> 
Сильно не бейте D
Изменил: Равиль (23.04.2013 / 06:17)
Б

Оранжевые штаны
0
3,4.
Во первых preg_match не делает замену - а ищет по шаблону, и принимает минимум 2 значения.
Во вторых что это у вас за номера такие которые только из девяток состоят? Вместо [9] - [0-9] или \d
Автор
Пишу, строю и воображаю
0
2,3,4,5, спасибо!

6, ("/(\([0]{0-9}[3]{???}\))([0-9]{3})-([0-9]{2})-([0-9]{2})/") получается так и вместо прег_матч использовать стр_реплэйс?
Б

Оранжевые штаны
0
7. чем тебя вариант ravil-b не устраивает? если регуляркой то:
$number = preg_replace('~(\d{3})(\d{2})(\d{2})(\d{2})~', '$1-$2-$3-$4', $number);
С

Пришелец
0
7. Moto-Moto, а я бы сделал так

<?php
$n = '999999999';
$n = preg_replace("/(\d{3,})(\d{2})(\d{2})(\d{2})$/", "\\1-\\2-\\3-\\4", $n);
echo $n;
?>
Автор
Пишу, строю и воображаю
0
8, 9, спасибо большое. я одно не учел. 9 значные номера это мобильные. И это совсем не универсальные, так как 9 значные только это у нас, в др странах он меньше или больше. А городские номера вообще 6 значные. МОжет сделать так: все не четные номера количеством цифр от 5,7,9,11,13,15 делить так: первый блок трехзначный, а остальные по два, то есть ХХХ ХХ ХХ ...., а четные номера делить просто на 2: ХХ ХХ ХХ ХХ....
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск