我有 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 文档保存 XML() http://www.php.net/manual/en/domdocument.savexml.php.
$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? https://stackoverflow.com/questions/5404941/php-domdocument-outerhtml-for-element)
$doc->saveHtml($img);
请注意链接问题中提到的警告:
(...) 使用 saveXml(),但这会
创建符合 XML 的标记。在里面
的情况<a>(<img>)
元素,不应该
但这是一个问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)