标签:php
我有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 Documetation的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;
}
}
$doc->saveHtml($img);
请注意链接问题中提到的警告:
(…) use saveXml(), but that would
create XML compliant markup. In the
case of an () element, that shouldn’t
be an issue though.
标签:php
来源: https://codeday.me/bug/20190530/1187040.html