PHP simple_html_dom echo order

0

im tryng, чтобы получить alt значение img и его ссылку href, я создал этот фрагмент, но это эхо-ссылка, а затем значение alt, как я могу заставить его эхо-значение alt, а затем ссылку?

html

 <div id="images"><div class="img-logo-big" style="width: 130px"><a class="url" href="http://link.com"><img src="http://host.com/images/image.jpg" alt="image name" /></a></div>
    <div class="img-logo-big" style="width: 130px"><a class="url" href="http://link.com"><img src="http://host.com/images/image.jpg" alt="image name" /></a></div>
    <div class="img-logo-big" style="width: 130px"><a class="url" href="http://link.com"><img src="http://host.com/images/image.jpg" alt="image name" /></a></div></div></div>

любой мой PHP code

$html = new simple_html_dom();  
$html = $html->load($page);
foreach($html->find('div[id=images],img[alt],a[class=url]') as $element) {
$g .="$element->alt\n  $element->href";
echo $g;
    }

почему этот код не влияет на $g.="$element->alt\n $element->href";? $g.="$element->alt\n $element->href";?

  • 0
    вы просто ищете элементы и повторяете эти совпадающие элементы. зачем вам вывод в таком порядке?
  • 0
    Я сохраняю их в текстовый файл, так что это должно быть сначала значение alt, а затем ссылка.
Теги:

2 ответа

0
Лучший ответ

Вещь, которую вы хотите повторить, - это родительский элемент img и a, который всегда является .img-logo-big:

foreach($html->find('.img-logo-big') as $img){
  echo $img->find('img', 0)->alt . "\n";
  echo $img->find('a', 0)->href . "\n";
}
  • 0
    Это добилось цели.
-2

Поскольку вы уже получаете теги в переменной $g

сделайте это так, вы получите значение alt и значение изображения отдельно от тех результирующих тегов

$g='<div id="images"><div class="img-logo-big" style="width: 130px"><a class="url" href="http://link.com"><img src="http://host.com/images/image.jpg" alt="image name" /></a></div>
    <div class="img-logo-big" style="width: 130px"><a class="url" href="http://link.com"><img src="http://host.com/images/image.jpg" alt="image name" /></a></div>
    <div class="img-logo-big" style="width: 130px"><a class="url" href="http://link.com"><img src="http://host.com/images/image.jpg" alt="image name" /></a></div></div></div>';

preg_match_all('/<a class="url" href=(.*?)>|<img (?:.*?) alt=(.*?)\/>/', $g, $matches);
echo '<pre>';
print_r(array_values(array_filter($matches[1])));
print_r(array_values(array_filter($matches[2])));
  • 0
    это получает IMG SRC мне нужна ссылка HREF.
  • 0
    извини, я думал, что тебе нужны img src. смотри мой обновленный ответ. работает нормально
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню