Я получил данные div «rso» в php Dom с помощью getElementById (‘rso’), но php не позволяет получить «ClassName», мне нужно, чтобы все «дитя» <div class =srg>
а затем пометьте «Href» внутри этого.
<div id=”rso”>
<div class= “_Nid”>
<div class = “srg”>
<div class =”g”>
<div class=”rc”>
<h3 class = “r”>
<a href >
</h3>
</div>
</div>
<div class =”g”>...</div>
<div class =”g”>...</div>
<div class =”g”>...</div>
</div>
</div>
</div>
Подскажите, пожалуйста, как это можно сделать. или какой xPath будет использоваться, если он может работать здесь.
<?php
$html = <<<HTML
<div id="rso">
<div class="_Nid">
<div class="srg">
<div class="g">
<div class="rc">
<h3 class="r">
<a href="http://my.site.com/lol.txt" >
</h3>
<h3 class="r">
<a href="http://my.site.com/lol2.txt" >
</h3>
<h3 class="r">
<a href="http://my.site.com/lol23.txt" >
</h3>
</div>
</div>
<div class="g">...</div>
<div class="g">...</div>
<div class="g">...</div>
</div>
</div>
</div>
HTML;
$dom = new DOMDocument;
$dom->loadHTML($html);
$domxpath = new DOMXPath($dom);
$filtered = $domxpath->query('//div[@class="srg"]//a/@href');
foreach ($filtered as $item) {
echo "$item->value\n";
}
Попробуй ниже XPath
:
//div[@class="srg"]//a/@href