Как при помощи регулярного выражения найти...

Статус
В этой теме нельзя размещать новые ответы.

qwerty

Постоялец
Регистрация
10 Апр 2006
Сообщения
75
Реакции
1
Здравствуйте!
Помогите в слудующей проблеме.
Обращаюсь к серверу полуаю от него полностью всю страницу как мне в ней найти определенные данне.если на нй куча разных таблиц и тегов?
И помогите составть регулярно выражение для того что бы у меня было несолько массивов в кторых хранился
курс покупки и продажи для доллара
курс покупкии продажи для евро
и дата на какое число этот курс
и увеличился он сегодня или уменьшился (это можно определить из тега имг)

где то есть подобный кусок хтмл в полученом мною запросе.

<tr align="left">
<td colspan="4" class="course_title">Курсы иностранной валюты</td>
</tr>
<tr>
<td colspan="4" align="right" class="course_sub_title">покупка &nbsp;&nbsp; продажа </td>
</tr>
<tr>
<td align="left" class="course_body">&nbsp;</td>
<td height="22" align="left" class="course_body">Доллар США</td>
<td width="47" align="left" class="course_body"><img src="img/down.gif" width="7" height="8" hspace="1">23,66</td>
<td width="65" align="left" class="course_body"><img src="img/down.gif" width="6" height="8" hspace="1">24,01</td>
</tr>
<tr>
<td align="left" class="course_body">&nbsp;</td>
<td height="22" align="left" class="course_body">ЕВРО</td>
<td width="47" align="left" class="course_body"><img src="img/up.gif" width="7" height="8" hspace="1">36,77</td>
<td width="65" align="left" class="course_body"><img src="img/up.gif" width="6" height="8" hspace="1">37,20</td>
</tr>
<tr align="left">
<td colspan="4" class="submenu" align="center">(установлены банком на 16.05.08)</td>
</tr>
 
проще строковыми функциями , имхо
 
$s - строка с кодом страницы
Код:
preg_match_all('/course_body">(?:<img[^>]+>)?([^<]+)/',$s,$r);
$r = &$r[1];
$rz = array();
for ( $i=0; $i<sizeof($r); $i++) {
	$rz[$r[++$i]] = array(
		'buy' => $r[++$i],
		'sell' => $r[++$i]
	);
}
print_r($rz);
 
Странно решил попробовать этот код в RegexBuddy, а он не работет хотя в пхп это регулярное выражение работет корректро.В чем может быть проблема?набрал все верно.
 
Вставил регулярку в Buddy
Код:
course_body">(?:<img[^>]+>)?([^<]+)

На Вашем тестовом примере все работает
Возможно вставляли вместе с экранирующими regexp слешами
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху