[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регулярные выражения
kollega
есть табличка:

<table>
<tbody>
<tr>
<td
class="pr2">
<b>
10.07.2011</b><br>
<img
src="/img/s_Arkadiy_Antufev1.jpg" align="left" style="margin-right: 10;margin-top: 5;">
<div
width="100%" class="prheader"><a href="/pr/2803/">Название1</a></div>
<div
width="100%" class="pranons"><a href="/pr/2803/"><p style="text-align: justify;">Текст1</p></a></div>
</td>
</tr>
<tr>
<td
class="pr2">
<b>
10.07.2011</b><br>
<img
src="/img/s_Arkadiy_Antufev2.jpg" align="left" style="margin-right: 10;margin-top: 5;">
<div
width="100%" class="prheader"><a href="/pr/2803/">Название2</a></div>
<div
width="100%" class="pranons"><a href="/pr/2803/"><p style="text-align: justify;">Текст2</p></a></div>
</td>
</tr>
<tr>
<td
class="pr2">
<b>
10.07.2011</b><br>
<img
src="/img/s_Arkadiy_Antufev3.jpg" align="left" style="margin-right: 10;margin-top: 5;">
<div
width="100%" class="prheader"><a href="/pr/2803/">Название3</a></div>
<div
width="100%" class="pranons"><a href="/pr/2803/"><p style="text-align: justify;">Текст3</p></a></div>
</td>
</tr>
</tbody>
</table>

Мне надо как-то с помощью регулярных выражений достать:
1) ссылки ("/img/s_Arkadiy_Antufev1.jpg", "/img/s_Arkadiy_Antufev2.jpg", "/img/s_Arkadiy_Antufev2.jpg");
2) названия ("Название1", "Название2", "Название3");
3) текст ("Текст1", "Текст2", "Текст3").

У меня никак не получается :( . Помогите составить регулярные выражения.



Спустя 19 минут, 35 секунд (14.07.2011 - 15:27) Winston написал(а):
Вот смотри, то, что хотел ?
Свернутый текст
$str = '<table>
<tbody>
<tr>
<td class="pr2">
<b>10.07.2011</b><br>
<img src="/img/s_Arkadiy_Antufev1.jpg" align="left" style="margin-right: 10;margin-top: 5;">
<div width="100%" class="prheader"><a href="/pr/2803/">Название1</a></div>
<div width="100%" class="pranons"><a href="/pr/2803/"><p style="text-align: justify;">Текст1</p></a></div>
</td>
</tr>
<tr>
<td class="pr2">
<b>10.07.2011</b><br>
<img src="/img/s_Arkadiy_Antufev2.jpg" align="left" style="margin-right: 10;margin-top: 5;">
<div width="100%" class="prheader"><a href="/pr/2803/">Название2</a></div>
<div width="100%" class="pranons"><a href="/pr/2803/"><p style="text-align: justify;">Текст2</p></a></div>
</td>
</tr>
<tr>
<td class="pr2">
<b>10.07.2011</b><br>
<img src="/img/s_Arkadiy_Antufev3.jpg" align="left" style="margin-right: 10;margin-top: 5;">
<div width="100%" class="prheader"><a href="/pr/2803/">Название3</a></div>
<div width="100%" class="pranons"><a href="/pr/2803/"><p style="text-align: justify;">Текст3</p></a></div>
</td>
</tr>
</tbody>
</table>'
;

preg_match_all("#src=(\"|')(.*)\\1#iuU", $str, $links);
preg_match_all("#<a.*>([^<]+)</a>#iu", $str, $name);
preg_match_all("#<p.*>([^<]+)</p>#iu", $str, $text);

echo '<pre>';
print_r($links[2]);
echo '</pre>';

echo '<pre>';
print_r($name[1]);
echo '</pre>';

echo '<pre>';
print_r($text[1]);
echo '</pre>';

Спустя 23 минуты, 16 секунд (14.07.2011 - 15:51) kollega написал(а):
Так то оно так. Только табличка - часть странички. То есть в переменной $str перед табличкой будут ссылки,названия и текст которые мне не нужны. Мне нужны только те, которые находятся в <td> с классом "pr2". Надо как-то привязаться именно к <td> с классом "pr2".

Спустя 13 минут, 35 секунд (14.07.2011 - 16:04) Winston написал(а):
Цитата (kollega @ 14.07.2011 - 15:51)
Надо как-то привязаться именно к <td> с классом "pr2".

Нужно было сразу говорить.
Сейчас попробую...

Спустя 8 минут, 10 секунд (14.07.2011 - 16:12) Winston написал(а):
Теперь смотри
Свернутый текст
preg_match_all("#td class=(\"|')pr2\\1>.*src=(\"|')(.*)\\2#isuU", $str, $links);
preg_match_all("#td class=(\"|')pr2\\1>.*<a.*>([^<]+)</a>#isuU", $str, $name);
preg_match_all("#td class=(\"|')pr2\\1>.*<p.*>([^<]+)</p>#isuU", $str, $text);

echo '<pre>';
print_r($links[3]);
echo '</pre>';

echo '<pre>';
print_r($name[2]);
echo '</pre>';

echo '<pre>';
print_r($text[2]);
echo '</pre>';

Так? :)

Спустя 12 минут, 26 секунд (14.07.2011 - 16:25) kollega написал(а):
Все работает)))) спасибо

Спустя 7 минут, 19 секунд (14.07.2011 - 16:32) Winston написал(а):
Цитата (kollega @ 14.07.2011 - 16:25)
Все работает)))) спасибо

Ну ты даешь, то работает то нет smile.gif
Все правильно выдает ?

Спустя 20 минут, 17 секунд (14.07.2011 - 16:52) kollega написал(а):
да. тупанул просто. Там имя класса pr1, а я в примере указывал pr2. вот в этом проблема и была)))
Быстрый ответ:

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