[英]printing out html content from domelement using nodeValue
我在 html 中有图像。 我将其解析为 DOMDocument 并开始使用它...
$doc = new DOMDocument();
$doc->loadHTML($article_header);
$imgs = $doc->getElementsByTagName('img');
foreach ($imgs as $img) {
$container = $img->parentNode;
if ($container->tagName != "a") {
$image_inside=utf8_decode($img->nodeValue);
echo "3".$image_inside;
die;
}
}
此代码工作正常第 3 行获取图像。 第 6 行知道这个“img”标签上方没有“a”标签,第 8 行必须打印出我的初始图像。 但问题是我只看到没有图像标签的“3”等等......
我确实检查了元素,但那里什么也没有。 只是“3”出来了。 为什么我无法打印出图像?
你可以使用:
DOMDocument::saveXML($img);
来自 PHP 文档的saveXML() 。
$doc = new DOMDocument();
$doc->loadHTML($article_header);
$imgs = $doc->getElementsByTagName('img');
foreach ($imgs as $img) {
$container = $img->parentNode;
if ($container->tagName != "a") {
echo utf8_decode($doc->saveXML($img));
die;
}
}
如果您使用的是 PHP 5.3.6,您可以使用(来自如何返回 DOMDocument 的外部 html? )
$doc->saveHtml($img);
请注意链接到问题中提到的警告:
(...) 使用 saveXml(),但这会创建符合 XML 的标记。 对于
<a>(<img>)
元素,这应该不是问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.