Парсер HTML

12
W7
На сайте с 05.02.2009
Offline
99
855

есть код ХТМЛ:

<div class="download-urls-field">

<div class="download-urls-header">Скачать</div>
<a href="#" target="_blank">#</a><br><a href="#" target="_blank">#</a><br><a href="#" target="_blank">#</a>
</div>

есть код ПХП:

      preg_match("|<div class='download-urls-field'>(.+?)</div>|mi", $html, $result);

$content = $result[0];

Но на выходу пусто :(

Может кто то подскажет?

frantic
На сайте с 09.02.2009
Offline
27
#1


<div class='download-urls-field'>(.+</a>)\s*</div>|sUi
28
На сайте с 31.10.2009
Offline
116
#2
walkman7:
есть код ХТМЛ:
<div class="download-urls-field">

<div class="download-urls-header">Скачать</div>
<a href="#" target="_blank">#</a><br><a href="#" target="_blank">#</a><br><a href="#" target="_blank">#</a>
</div>


есть код ПХП:
      preg_match("|<div class='download-urls-field'>(.+?)</div>|mi", $html, $result);

$content = $result[0];


Но на выходу пусто :(

Может кто то подскажет?

Всё потому что спецсимволы, например, "<" нужно описывать как "\<"

Борец за чистоту Интернета.
frantic
На сайте с 09.02.2009
Offline
27
#3
2038:
Всё потому что спецсимволы, например, "<" нужно описывать как "\<"

А что обозначает угловая скобка?

[umka]
На сайте с 25.05.2008
Offline
456
#4

walkman7, у вас кавычки разные в html-е и в регулярке

Лог в помощь!
Dreammaker
На сайте с 20.04.2006
Offline
570
#5

2038, не потому - эти спецсимволы иожно не экранировать.

frantic
На сайте с 09.02.2009
Offline
27
#6

Да, во-первых кавычки разные, во-вторых по умолчанию перевод строки не является любым символом, который обозначает точка

W7
На сайте с 05.02.2009
Offline
99
#7
'[umka:
;6490926']walkman7, у вас кавычки разные в html-е и в регулярке

Дело в том что

preg_match("|<div id='news-id-([0-9]*)'>(.+?)</div>|mi", $html, $result);
работает с
<div id="news-id-12345">здесь текс</div>

Прекрасно

[umka]
На сайте с 25.05.2008
Offline
456
#8

вощем, надо вот так :)

preg_match('|<div class="download-urls-field">(.+?)</div>|si', $html, $result)
frantic
На сайте с 09.02.2009
Offline
27
#9
walkman7:
Дело в том что
preg_match("|<div id='news-id-([0-9]*)'>(.+?)</div>|mi", $html, $result);
работает с
<div id="news-id-12345">здесь текс</div>

Прекрасно

Ага. А знаешь почему?

frantic добавил 09.03.2010 в 22:06

'[umka:
;6490979']вощем, надо вот так :)
preg_match('|<div class="download-urls-field">(.+?)</div>|si', $html, $result)

да не, там скорее всего у него целая хтмл страница в которой еще будут встречаться теги </div>, и выдернется самое большое вхождение

А точнее нет. выдернется вообще <div class="download-urls-header">Скачать

[umka]
На сайте с 25.05.2008
Offline
456
#10
walkman7:
Дело в том что
preg_match("|<div id='news-id-([0-9]*)'>(.+?)</div>|mi", $html, $result);
работает с
<div id="news-id-12345">здесь текс</div>

Прекрасно

А вот у меня — не работает.

И, кстати, не должен.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий