Разделить телефон на части 999-99-99-99
1.
ШЕДЕВР (23.04.2013 / 00:13)
Формат телефонного номера 999-99-99-99. Как из 9 цифренной переменной 999999999 сделать 999-99-99-99 ? В интернете ковырялся, не нашел способа...
2.
максим (23.04.2013 / 02:17)
вроди 10 должно цифр
3.
Tolikasi (23.04.2013 / 02:44)
<?php
preg_match("/(\([0]{1}[9]{2}\))([9]{3})-([9]{2})-([9]{2})/");
?>
4.
Nervous (23.04.2013 / 04:16)
3.
anatoly, А если так
<?php
preg_match("/(\([0]{9}[3]{???}\))([9]{3})-([9]{2})-([9]{2})/");
?>
Номер как в украине 9 значные.
5.
Равиль (23.04.2013 / 06:16)
<?php $t='999999999'; //Номер
$t2=$t[0].$t[1].$t[2].'-'.$t[3].$t[4].'-'.
$t[5].$t[6].'-'.$t[7].$t[8]; //Преобразованый номер ?>
Сильно не бейте
6.
Богдан (23.04.2013 / 09:22)
3,4.
Во первых preg_match не делает замену - а ищет по шаблону, и принимает минимум 2 значения.
Во вторых что это у вас за номера такие которые только из девяток состоят? Вместо [9] - [0-9] или \d
7.
ШЕДЕВР (23.04.2013 / 10:13)
2,3,4,5, спасибо!
6, ("/(\([0]{0-9}[3]{???}\))([0-9]{3})-([0-9]{2})-([0-9]{2})/") получается так и вместо прег_матч использовать стр_реплэйс?
8.
Богдан (23.04.2013 / 23:21)
7. чем тебя вариант ravil-b не устраивает? если регуляркой то:
$number = preg_replace('~(\d{3})(\d{2})(\d{2})(\d{2})~', '$1-$2-$3-$4', $number);
9.
Сергей (23.04.2013 / 23:57)
7.
Moto-Moto, а я бы сделал так
<?php
$n = '999999999';
$n = preg_replace("/(\d{3,})(\d{2})(\d{2})(\d{2})$/", "\\1-\\2-\\3-\\4", $n);
echo $n;
?>
10.
ШЕДЕВР (24.04.2013 / 01:00)
8, 9, спасибо большое. я одно не учел. 9 значные номера это мобильные. И это совсем не универсальные, так как 9 значные только это у нас, в др странах он меньше или больше. А городские номера вообще 6 значные. МОжет сделать так: все не четные номера количеством цифр от 5,7,9,11,13,15 делить так: первый блок трехзначный, а остальные по два, то есть ХХХ ХХ ХХ ...., а четные номера делить просто на 2: ХХ ХХ ХХ ХХ....
11.
Артур (24.04.2013 / 01:39)
Вроде как домашние делятся вот так 2-222-222
12.
Петр (24.04.2013 / 13:34)
10.
Moto-Moto,
<?php
if(strlen($str)%2){
$t=$str[0];
$str=substr($str,1);
} else {
$t='';
}
$str=str_split($str, 2);
$str[0]=$t.$str[0];
echo join('-', $str);
?>
13.
ШЕДЕВР (24.04.2013 / 14:33)
12, идеально!) именно т очто нужно
URL:
https://visavi.net/topics/37625