Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Нужна помощь: выдрать номер из сообщения
 
 автор: adamius   (09.07.2009 в 03:41)   письмо автору
 
 

есть текст вида:

текст сообщения (+79270033445)


номер может быть в любом формате. начинаться и с 8, и с 7, и с + или вообще с другой цифры. может быть длиной в 11 числе или же в 20 или же в 40 и т.д.
текст сообщения может содержать любые символы.

единственное, что обязательно - номер заключен в скобки.

помогите, пожалуйста, составить выражения для извлечения номера из строки.

  Ответить  
 
 автор: Ильдар   (09.07.2009 в 15:23)   письмо автору
 
   для: adamius   (09.07.2009 в 03:41)
 

<?php
$text 
"(+79270033445)";
$number preg_replace("/\((.*)\)/""\$1"$text);
print 
$number// +79270033445
?>

  Ответить  
 
 автор: adamius   (09.07.2009 в 15:27)   письмо автору
 
   для: Ильдар   (09.07.2009 в 15:23)
 


<?php
if (preg_match("|([\d]+)|"$message_text$regs))
{
$number $regs[0];
}
?>

  Ответить  
 
 автор: AcidTrash   (09.07.2009 в 22:36)   письмо автору
 
   для: adamius   (09.07.2009 в 03:41)
 

может быть длиной в 11 числе или же в 20 или же в 40 и т.д.
Интересно где же такой номер телефона аж в 40 цифр? Да и 20 как-то многовато.
Или это как понимать?

P.S.
составить выражения для извлечения номера из строки.
Исходя из вашего ТЗ
<pre>
<?php
$message_text
="текст сообщения (+79270033445)";
preg_match_all("|\((\+?[\d]{11,40})\)|"$message_text$regs);
print_r($regs);
?>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования