我有以下代码:
$doc=new DOMDocument();
$doc->loadHTML($content);
$xml=simplexml_import_dom($doc); // just to make xpath more simple
//$images=$xml->xpath('(//img[@class = "thumbimage"])[1]');
for($x=1;$x<=5;$x++)
{
$images[] = $xml->xpath('(//img[@class = "thumbimage"])['.$x.']');
}
我转储$ images我得到这种类型的数组看到底部的屏幕截图
[array](unknown name)
- [array]0
-[SimpleXMLElement Object] 0
-Properties
-[array]@attributes
[string]src = "thestring"
-Methods
__construct
__addAttribute etc
我想从每个$ images []数组
中获取“thestring”请参阅附图:
答案 0 :(得分:0)
我认为你只需要正确的XPath,如果你发布了你正在处理的XML,我会更容易给出(我只能从你提供的图像中推断出一些东西)。无论如何你正在使用img [@class ='...']所以我假设我们正在处理的那个元素名称被称为img
在这种情况下,您需要的xpath是
"//img@src"
使用@选择所有img元素的属性。 http://www.w3schools.com/xpath/xpath_syntax.asp
答案 1 :(得分:0)
您可以将属性作为数组元素访问:
$images[$i]['src']
答案 2 :(得分:0)
for($x=0;$x<=5;$x++)
{
$k = $x + 1;
$images[] = $xml->xpath('(//img[@class = "thumbimage"])['.$k.']');
$url[] = (string)$images[$x][0]['src'];
}
这就是我想要的结果。