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 :: Помогите составить регулярное выражение

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Терри
Отправлено: 14 Мая, 2012 - 21:45:36
Post Id



Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




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

$pattern= ................ регулярное выражение

CODE (html):
скопировать код в буфер обмена
  1. <tr><td>USD</td><td>1  Доллар США</td><td>1.6204</td>td><img src="http://www.site.com/images/green.gif"></td><td>0.0000</td>/tr>
  2. <tr><td>EUR</td><td>1  Евро</td><td>2.6204</td>td><img src="http://www.site.com/images/green.gif"></td><td>0.0000</td></tr>



В итоге, из этого типа мне понадобятся

USD 1.6204
EUR 2.6204

Код:

CODE (php):
скопировать код в буфер обмена
  1.   $content = get_content();
  2.   // Разбираем содержимое, при помощи регулярных выражений
  3.   $pattern = "..............................................................";  
  4.    
  5.   preg_match_all($pattern, $content, $out, PREG_SET_ORDER);
  6.   $dollar = "";
  7.   $euro = "";
  8.  
  9.   foreach($out as $cur)
  10.   {
  11.     if($cur[2] == "USD") $dollar = str_replace(",",".",$cur[4]);
  12.     if($cur[2] == "EUR") $euro   = str_replace(",",".",$cur[4]);    
  13.   }
  14.   echo "Dollar - ".$dollar."<br>";
  15.   echo "Euro - ".$euro."<br>";
 
 Top
Alho
Отправлено: 14 Мая, 2012 - 21:57:26
Post Id



Посетитель


Покинул форум
Сообщений всего: 322
Дата рег-ции: Апр. 2012  


Помог: 11 раз(а)




PHP:
скопировать код в буфер обмена
  1. $pattern="|<td>([\w]{3})</td>[\s\S]+<td>([\d]{1}\.[\d]{4})</td>|U";

(Отредактировано автором: 14 Мая, 2012 - 22:01:52)

 
 Top
Терри
Отправлено: 14 Мая, 2012 - 22:28:43
Post Id



Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Большое спасибо, что помогли составить регулярное выражение.
Наконец разобралась в нем и имею хоть какое-то представление в том как его составлять.

Сейчас осталось следующий этап разобрать, но пока сама посмотрю.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Регулярные выражения »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB