我试图使用DOM从html代码中获取完整准确的img标记:
$content=new DOMDocument();
$content->loadHTML($htmlcontent);
$imgTags=$content->getElementsByTagName('img');
foreach($imgTags as $tag) {
echo $content->saveXML($tag); }
如果我有原始<img src="img">
,则结果为<img src="img"/>
。但我需要与原始相对应的确切值。
有可能 - 在没有正则表达式或第三方库(简单HTML DOM)的情况下使用DOM获取精确的img标记?
答案 0 :(得分:0)
没有。这是不可能的。
但是,如果使用<img>
符合特定条件,则可以实现从HTML文档中删除DOMDocument
元素的目标。下面是一些示例代码,用于删除包含class
属性“removeme”的图像。
$htmlcontent =
'<!DOCTYPE html><html><head><title>Example</title></head><body>'
. '<img src="1"><img src="2" class="removeme"><img src="3"><img class="removeme" src="4">'
. '</body></html>';
$content=new DOMDocument();
$content->loadHTML($htmlcontent);
foreach ($content->getElementsByTagName('img') as $image) {
if ($image->getAttribute("class") == "removeme") {
$image->parentNode->removeChild($image);
}
}
echo $content->saveHTML();
输出:
<!DOCTYPE html> <html><head><title>Example</title></head><body><img src="1"><img src="3"></body></html>