У меня есть список элементов, где мне нужно будет получить атрибут заголовка списка, URL-адрес ссылки и отображаемый текст ссылки, а также значение span каждого тега списка.DOM loadhtml извлекает узлы и дочерние узлы
<ul>
<li class="testclass" title="Title 1 goes here">
<a href="http://examplelink1.com">List Text 1</a>
<span>Second List Text 1</span>
</li>
<li class="testclass" title="Title 2 goes here">
<a href="http://examplelink2.com">List Text 2</a>
<span>Second List Text 2</span>
</li>
</ul>
Как извлечь каждый отдельный список тегов и его значения с Еогеасп (так как мне нужно вставить значения в БД MySQL впоследствии (каждое значение в другом поле дб).
До сих пор , я могу получить их только по отдельности:
<?php
$doc = new DOMDocument();
@$doc->loadHTML($list);
$imageTags = $doc->getElementsByTagName('a');
foreach($imageTags as $tag) {
$link = $tag->getAttribute('href');
echo $link.'<br/>';
}
?>
И
<?php
$doc = new DOMDocument();
@$doc->loadHTML($list);
$imageTags = $doc->getElementsByTagName('li');
foreach($imageTags as $tag) {
$link = $tag->getAttribute('title');
echo $link.'<br/>';
}
?>
Я нашел скрипт с XPath, но я не знаю, как применять его правильно, чтобы получить конкретные значения, мне нужно, и использовать их в заявлении MySQL:
<?php
$dom = new DOMdocument();
@$dom->loadHTML($list);
$xpath = new DOMXPath($dom);
$elements = $xpath->query("//*");
foreach ($elements as $element) {
echo "<p>". $element->nodeName. "</p>";
$nodes = $element->childNodes;
foreach ($nodes as $node) {
echo $node->nodeValue. "<br/>";
}
}
?>
Wow это потрясающе! Спасибо! Есть ли способ отбросить только значения в чистом формате без массива? Я попробовал foreach ($ xpath как $ key => $ val) {echo $ val;}, но он не работает ... – rainerbrunotte
ok Я нашел способ, просто нужно было эхо-атрибуты значения прямо без vardump! лол! спасибо за помощь! очень признателен! – rainerbrunotte