Регулярные выражения: получить данные из html-шаблона

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

werew

Новичок
Регулярные выражения: получить данные из html-шаблона

доброго времени суток.

задача: вытащить совпадения выделенные красным шрифтом с помощью рег.выражений.

----------------------------

<tr class="d">
<td class="regular" height="20" width="60%"><a href="/members/profile.php?i=1&amp;id=201"><b>some_user</b></a> <a href="gbook_entry.php?uid=201"><img src="../img/icons/reply_gb.gif" title="Ответить some_user" align="absmiddle" border="0" height="16" width="16"></a></td>

<td class="small" align="right" width="35%"><b>date</b></td>
<td align="right" width="5%"><a href="/members/gbook.php?id=77777&amp;action=del&amp;entry_id=5555555"><img src="/images/icons/mail/del.gif" alt="Удалить" border="0" height="16" width="16"></a></td>
</tr>
<tr class="l"><td class="medium" colspan="3">message_text</td></tr>
<tr><td colspan="3"><img src="/images/spacer.gif" height="3" width="1"></td></tr>

----------------------------

сей код повторяется многократно, меняются лиш данные выделенные красным.

мне бы на примере, а то синтаксис рег.выражений для меня тёмный лес.

заранее благодарю
 

Aleksey

Новичок
все просто

([0-9]+) - любое число
(.*) - любой сивол
\w - слово = [a-zA-Z], например ([\w]+) или ([a-zA-Z]+)
\ - сивол, например \a = a, \- = - и т.д

([0-9]{0,4}) - число от 0 до 4 сиволов

что касается твоего текста, то:

<a href="/members/profile.php?i=1&id=201"><b>some_user</b></a>

наверное будет что-то типа этого
/members/profile.php?i=1&id=([0-9]+) "><b>([\w]+)</b></a>

юзать через regex

http://ru.php.net/manual/ru/ref.regex.php
 

hermit_refined

Отшельник
werew
предлагаю сделку.
я вам помогаю своровать контент.
а вы мне - ограбить мою соседку-старушку.
 

werew

Новичок
Автор оригинала: hermit_refined
werew
предлагаю сделку.
я вам помогаю своровать контент.
а вы мне - ограбить мою соседку-старушку.
посмотрите внимательней на код ) воровать контент из гостевой книги... извиняйте )

не томите )
 

hermit_refined

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

werew

Новичок
Автор оригинала: Aleksey
сори, случайно нажал на ENTER и оно ушло :) сейчас отредактировал, написал все что хотел ;)
беда в том, что у меня очевидные проблемы с синтаксисом )

даже если я просто тупо пытаюсь найти сопадения, по типу:

PHP:
$out = preg_replace("#<tr class=\"d\">
<td class=\"regular\" height=\"20\" width=\"60%\"><a href=\"/members/profile.php?i=1&id=201\"><b>(.*?)</b>
</a> <a href=\"gbook_entry.php?uid=(.*?)\">
<img src=\"../img/icons/reply_gb.gif\" title=\"Ответить (.*?)\" align=\"absmiddle\" border=\"0\" height=\"16\" width=\"16\"></a></td>
<td class=\"small\" align=\"right\" width=\"35%\"><b>(.*?)</b></td>
<td align=\"right\" width=\"5%\">
<a href=\"/members/gbook.php?id=(.*?)&action=del&entry_id=(.*?)\">
<img src=\"/images/icons/mail/del.gif\" alt=\"Удалить\" border=\"0\" height=\"16\" width=\"16\"></a></td>
</tr>
<tr class=\"l\"><td class=\"medium\" colspan=\"3\">(.*?)</td></tr>
<tr><td colspan=\"3\"><img src=\"/images/spacer.gif\" height=\"3\" width=\"1\"></td></tr>#i", '$1.. $2..',$html);
безрезультатно.

-~{}~ 06.03.07 05:05:

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

как бы там ни было, меня интересует техническая сторона вопроса, а не моральная.
 

Aleksey

Новичок
у тебя слишком сложный текст для парсинга, могу порекомендовать начать с чего-то простого, понять в чем косяк и уже потом прикрутить все это дело к твоему тексту.
В своей статейке про шаблоны я тоже использовал регулярные выражения для поиска тэгов <title></title>:
http://blogs.kbyte.ru/Aleksey/PHP-Templates.aspx
строка 36, в разделе "Класс управления шаблонами"

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

werew

Новичок
Автор оригинала: Гравицапа
А можно узнать, какая в этом необходимость?
всех интересует "ЗАЧЕМ?"
но никто не знает "КАК"

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