Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Преобразование номера телефона...
----- Не слушайте... После 19.00 вместо меня пишет ПЫВО
Uchkuma
Отправлено: 01 Октября, 2010 - 22:53:19
Участник
Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010 Откуда: Киров
Помог: 6 раз(а)
dsb80 пишет:
Вот ненадо пихать регулярки куда ненадо...
Вак вариант http://php.su/functions/?number-format
number_format тут вообще причем? Решили сумничать, потрудитесь прочитать описание функции.
Если необходимо убрать только скобки, пробелы и дефисы, то можно обычной заменой типа str_replace.
Пит
Отправлено: 01 Октября, 2010 - 22:58:19
Новичок
Покинул форум
Сообщений всего: 17
Дата рег-ции: Май 2010
Помог: 0 раз(а)
я бы считал в массив символов и проверял каждый символ - число или нет, чтобы отпилить всевозможные нечисла. ибо регуляркой как-то проблематично прицепить дополнительную функциональность, например, если после 6го символа в массиве попадется символ, отличный от тире, например, то 100% неверный ввод номера
Да. Все верно. Чего уж размениваться на скобки и т.д.
С уважением.
JustUserR
Отправлено: 02 Октября, 2010 - 01:40:55
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Пит Согласно рассмотрению фактических алгоритмов для разбора указанной строки с применением регулярных выражений и посимвольного доступа второй вариант является более предпочтительным - однако на практике язык PHP предоставляет доступ к объекту исходной строки как единому целому информационному полю - в силу чего операции регулярных выражений могут работать в некоторой мере быстрее - за счет применение интегрированных в интерпретатор функция в компилированном виде
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
KonstantinK
Отправлено: 02 Октября, 2010 - 10:27:06
Новичок
Покинул форум
Сообщений всего: 22
Дата рег-ции: Сент. 2010
Помог: 0 раз(а)
JustUserR Странно мне казалось что регулярки далеко не самое быстрое явление в PHP , поэтому решение Пит ИМХО было бы предпочтительней.
Uchkuma
Отправлено: 02 Октября, 2010 - 10:43:26
Участник
Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010 Откуда: Киров
Помог: 6 раз(а)
О какой скорости вы говорите в строке максимум из 18 символов с простейшими правилами поиска?
Ch_chov
Отправлено: 02 Октября, 2010 - 11:40:11
Постоянный участник
Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008 Откуда: из города
Покинул форум
Сообщений всего: 22
Дата рег-ции: Сент. 2010
Помог: 0 раз(а)
Получается регулярка быстрее - учту на будующее
Uchkuma
Отправлено: 02 Октября, 2010 - 14:49:14
Участник
Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010 Откуда: Киров
Помог: 6 раз(а)
KonstantinK пишет:
Получается регулярка быстрее
При такой разнице совершенно неважно, какой вариант быстрее, а важно то, какой вариант является наиболее простым и легким для восприятия и дальнейшей поддержки.
JustUserR
Отправлено: 03 Октября, 2010 - 00:45:22
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
KonstantinK пишет:
JustUserR Странно мне казалось что регулярки далеко не самое быстрое явление в PHP , поэтому решение Пит ИМХО было бы предпочтительней
При анализе эффективности работы некоторых решений необходимо проводить учет не только их фактической организации алгоритмов для общего случая - но также и использование в совокупности в некоторыми реальными объектами программы В динамических языках программирования таких как PHP & Perl & JS строковые объекты не являются аналогами массисов с набором символов и представлены в виде единой структуры - в таком случае осущесвление доступа к отдельным символам является возможным однако не предоставляет взаимодействие с внутренним хранением информации В силу указанной причины механизм регулярным выжарений является более эффективным - поскольку при задействовании шаблона выполнение всех обеспечивающий операций производится внутренними средствами PHP-интерпретатора представленными в скомпилированном приложении - в то время как набор строковых операций в действительности создает дополнительное количество обращений
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.