我想从网站上的图片中检索alt。在过去,我这样做了:
@$doc=new DOMDocument();
@$doc->loadHTML($html); //$html is the website
$xml=simplexml_import_dom($doc); // just to make xpath more simple
$images=$xml->xpath('//img');
foreach ($images as $img) {
echo $img['alt'];
}
但现在我想要的图像是div style =“padding:15px 0px 15px 25px;”
我如何检索图像? 我试图将$ xml-> xpath()更改为其他内容,但没有运气。
如果有人知道我需要做什么,我们将不胜感激。
谢谢!
我的错误,这实际上是包含数据的地方。
<div class="numbers">
<table cellpadding="3">
<tbody>
<tr>
<tr>
<td>
<img alt="12" src="/images/new/date/date5.gif">
<img alt="39" src="/images/new/date/date4.gif">
<img alt="32" src="/images/new/date/date3..gif">
<img alt="4" src="/images/new/date/date2.gif">
<img alt="20" src="/images/new/date/date1.gif">
</td>
<td>
</tr>
</tbody>
</table>
</div>
答案 0 :(得分:0)
试试这个XPath:
//div[@style="padding: 15px 0px 15px 25px;"]/img
但请注意,HTML源代码中的样式与此类似,请记住浏览器可以更改您在查看源代码时看到的HTML / CSS代码!因此,请使用带有选项show“Source”的Firefox Web Developer工具栏!请查看此主题https://stackoverflow.com/a/3314453/22470
答案 1 :(得分:0)
如果它在div中,则添加带路径
的div $doc=new DOMDocument();
$doc->loadHTML("<html><body>Test<br><img src=\"myimage.jpg\" title=\"title\" alt=\"alt\"></body></html>");
$xml=simplexml_import_dom($doc); // just to make xpath more simple
$images=$xml->xpath('//div[@style="padding: 15px 0px 15px 25px;"]/img');
foreach ($images as $img) {
echo $img['src'] . ' ' . $img['alt'] . ' ' . $img['title'];
}