Я читаю веб-страницу, используя PHP DOM / XPath, и мне удалось получить нужный мне текст, но сейчас я пытаюсь получить sr c основного изображения, но не могу возьми. Также, чтобы усложнить ситуацию, источник отличается от инспектора.
Вот источник:
<div id="bg">
<img src="https://example.com/image.jpg" alt=""/>
</div>
А вот элемент в инспекторе:
<div class="media-player" id="media-player-0" style="width: 320px; height: 320px; background: url("https://example.com/image.jpg") center center / cover no-repeat rgb(208, 208, 208);" currentmouseover="16">
Я пробовал:
$img = $xpath->evaluate('substring-before(substring-after(//div[@id=\'bg\']/img, "\')")');
и
$img = $xpath->evaluate('substring-before(substring-after(//div[@class=\'media-player\']/@style, "background: url(\'"), "\')")');
, но ничего не получил ни от одного из них.
Вот мой полный код:
$html = file_get_contents($externalurl);
$doc = new DOMDocument();
@$doc->loadHTML($html);
$xpath = new DOMXPath($doc);
$allChildNodesFromDiv = $xpath->query('//h1[@class="artist"]');
$releasetitle = $allChildNodesFromDiv->item(0)->textContent;
echo "</br>Title: " . $releasetitle;
$img = $xpath->evaluate('substring-before(substring-after(//div[@class=\'media-player\']/@style, "background: url(\'"), "\')")');
echo $image;
$img = $xpath->evaluate('substring-before(substring-after(//div[@id=\'bg\']/img, "\')")');
echo $image;