[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP работа со строкой
qari
Есть переменная с 10 цифр. Необходимо при выводе по середине ставить тире.
Так же при получении этой переменной если уже стоит тире необходимо его убрать.

К примеру с: 1111122222 сделать 11111-22222,
а при 11111-22222 обратно в 1111122222

еще вот такую маску 11-2222-3333 в 1122223333 и обратно

Подскажите лучший вариант.
Michael
тире нужно ставить и уберать при смене цифры?

Цитата
обратно в

str_replace справится, не? Или там не только цифры?

_____________
There never was a struggle in the soul of a good man that was not hard
qari
Цитата (Michael @ 5.08.2013 - 11:21)
тире нужно ставить и уберать при смене цифры?

Цитата
обратно в

str_replace справится, не? Или там не только цифры?

В переменной только цифры. И необходимо вставить тире согласно маскам. str_replace заменяет символы. А нам нужно расширять.
Michael
А где тут : 11-2222-3333 посередине тире? Тут 2 тире. А не одно посередине.

_____________
There never was a struggle in the soul of a good man that was not hard
qari
Цитата (Michael @ 5.08.2013 - 11:28)
А где тут : 11-2222-3333 посередине тире? Тут 2 тире. А не одно посередине.

Все верно: я выше писал о двух масках. Один вариант по середине и второй с двумя тире.
Placido
Не знаю, может, есть что-то оптимальнее, но вот один из вариантов
$num = '1234567890';
echo preg_replace('/(\d{5})(\d{5})/', '\1-\2', $num) . '<br/>';
echo preg_replace('/(\d{2})(\d{4})(\d{4})/', '\1-\2-\3', $num);
//12345-67890
//12-3456-7890
Valick
qari, вы бы описали свою задумку поподробнее, вы спросили как, но для ответа на этот вопрос надо знать зачем.


_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.