URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 2465
[ Назад ]

Исходное сообщение
"Формат строки"

Отправлено V.Kit , 15-Янв-04 16:49 
Как строку "999999" представить: 99-99-99

Содержание

Сообщения в этом обсуждении
"Формат строки"
Отправлено СергейКа , 15-Янв-04 18:04 
>Как строку "999999" представить: 99-99-99

хотя бы написал подробнее что ты хочешь, а то получается сиди гадай как правильно :(

$str='999999';
$str=substr($str,0,2).'-'.substr($str,2,2).'-'.substr($str,4,2);



"Формат строки"
Отправлено XMan , 15-Янв-04 19:51 
А можно еще так:

$str =~ s/(\d{2})/$1-/g;
$str =~ s/(\d)-$/$1/;

Вторая строка на случай четного количества цифр. Теоретически, это можно уложить в одно выражение, но я не додумался как :)


"Формат строки"
Отправлено kit , 16-Янв-04 09:47 
А может есть что-то типа?
echo printf('##-##-##', $str)

"Формат строки"
Отправлено ChiP , 16-Янв-04 12:22 
>А может есть что-то типа?
>echo printf('##-##-##', $str)

хотя бы язык указали :)

Для bash'a:
string="999999"
echo ${string:0:2}-${string:2:2}-${string:4:2}

Для perl'a (модифицированный ответ СергейК'и):
$str="999999";
printf("%d-%d-%d\n", substr($str, 0, 2), substr($str, 2, 2), substr($str, 4, 2));

>echo printf('##-##-##', $str)

а из какого это языка мне не известно :)


"Формат строки"
Отправлено kit , 16-Янв-04 12:31 
Дико извиняюсь -> HTML + PHP


"Формат строки"
Отправлено СергейКа , 16-Янв-04 18:50 
>Дико извиняюсь -> HTML + PHP

Что вы его перлом мучаете? Он же сразу же в КЛЮЧЕ темы указал PHP

Ну АВТОР сам виноват - не в тот раздел тему поместил :)

Регулярными выражениями в php будет только хуже с точки зрения читабельности и скорости.
Самый верхний пример самый короткий и самый быстрый (ИМХО :))