这可能是一个非常基本的问题。所以请原谅我的noobness。我正在努力让自己熟悉xml遍历。假设我有这个节点
[content]
<img src="some url" />
<a href="some link">Some link</a>
Some text after the link.
[/content]
如您所见,该节点包含文本和标签的混合。所以我想知道我是否可以定位该节点中的img
标记并获取src
属性?
我正在使用simplexml
来读取xml文件。
如果我只做$xml->content
,浏览器会显示图片,链接和文字。所以我希望有一些选项可以“找到”<img>
节点中的content
标记。
好。我想我可能使用了错误的技术术语。 RSS提要是XML一样吗?我从这个URL
获取XML Feed答案 0 :(得分:3)
我自己弄清楚了。我所做的是获取[content]
节点的全部内容,然后使用preg_match
从中找到<img>
标记。
$content = $xml->content;
preg_match('/(<img[^>]+>)/i', $content, $matches);
echo $matches[0];
答案 1 :(得分:0)
目前内容不是XML节点。它应该像这样形成;
<content></content>
要获取图像源,请执行;
$xml->content->img['src']
Simplexml通过' - &gt;'使节点可访问。 节点属性可通过数组表示法'[“attr name”]'
访问希望这有助于你
答案 2 :(得分:0)
这可以帮到你:
<?php
$html = '
<body>
<img src="some url" />
<a href="some link">Some link</a>
Some text after the link.
</body>
';
$xml = simplexml_load_string($html);
foreach($xml->children() as $child)
{
if ($child->getName() === 'img')
{
$attributes = $child->attributes();
$img_source = $attributes['src'];
echo $img_source;
}
}
?>