помощь с dom'ом

H2
На сайте с 07.02.2012
Offline
21
489

подскажите пожалуйста, какой функцией правильно обрабатывать

делаю так:

$content = file_get_contents("http://site.ru/?query=" . $name);


include('/home/host1245063/mysite.ru/htdocs/www/simple_html_dom.php');

$html = str_get_html($content);

foreach($html->find('div.img') as $sourcecod) // выдаёт к примеру 5 из 5 дивов <div class="img"><b>текст1</b>текст2<br/></div>

preg_match('#<b>([^"]+)</b>([^"]+)<br/>#U',$sourcecod,$list); // выдаёт текст1 и текст2 последнего, т.е. 5-го дива

echo $list[1] . $list[2];

а мне нужно что бы скрипт считывал и выводил текст1 и текст2 из всех 5 дивов

подскажите пожалуйста хотя бы какой функцией обрабатывать $sourcecod

MI
На сайте с 16.07.2008
Offline
74
#1

Вот почитайте http://www.php.net/manual/ru/control-structures.foreach.php

Попробуйте так:


foreach(...)
{
...
echo ...;
}

Лучше прочитайте один и более раз всю документацию http://www.php.net/manual/en/langref.php

H2
На сайте с 07.02.2012
Offline
21
#2
metadon.info:
Вот почитайте http://www.php.net/manual/ru/control-structures.foreach.php

Попробуйте так:



Лучше прочитайте один и более раз всю документацию http://www.php.net/manual/en/langref.php

спасибо, но не помогло, или я не так что делаю...

кто может дать наглядный пример?

вроде этого:


foreach($html->find('#<a href="([^"]+)">([^"]+)</a>#U') as $sourcecod)
echo $sourcecod[1];

и что бы выводились все значения href 'а, а не только последней ссылки

ДП
На сайте с 23.11.2009
Offline
203
#3

Так попробуйте.

$content = file_get_contents("http://site.ru/?query=" . $name);


include('/home/host1245063/mysite.ru/htdocs/www/simple_html_dom.php');

$html = str_get_html($content);

foreach($html->find('div.img') as $sourcecod) {// выдаёт к примеру 5 из 5 дивов <div class="img"><b>текст1</b>текст2<br/></div>

preg_match('#<b>([^"]+)</b>([^"]+)<br/>#U',$sourcecod,$list); // выдаёт текст1 и текст2 последнего, т.е. 5-го дива

echo $list[1] . $list[2];
}

, что вам собственно metadon.info и посоветовал.

H2
На сайте с 07.02.2012
Offline
21
#4
Дикий пионер:
Так попробуйте.
$content = file_get_contents("http://site.ru/?query=" . $name);


include('/home/host1245063/mysite.ru/htdocs/www/simple_html_dom.php');

$html = str_get_html($content);

foreach($html->find('div.img') as $sourcecod) {// выдаёт к примеру 5 из 5 дивов <div class="img"><b>текст1</b>текст2<br/></div>

preg_match('#<b>([^"]+)</b>([^"]+)<br/>#U',$sourcecod,$list); // выдаёт текст1 и текст2 последнего, т.е. 5-го дива

echo $list[1] . $list[2];
}

, что вам собственно metadon.info и посоветовал.

ах вот как, спасибо, сразу не догадался :)

V
На сайте с 05.01.2011
Offline
23
#5

непонятно зачем тут регулярка если юзается simple_html_dom

там есть замечательная функция text()

H2
На сайте с 07.02.2012
Offline
21
#6
veterinar:
непонятно зачем тут регулярка если юзается simple_html_dom

там есть замечательная функция text()

спасибо, постараюсь запомнить =)

но проблема уже решилась

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