获取包含childs html的父节点的HTML并将其打印出来

时间:2011-06-12 08:53:56

标签: php

例如在我的HTML中,我有“img”标签。 我想将它们打包成“a”标签

如果我这样做一次一切都好。但是下次标签已经打包,再打包,这很糟糕。我想要理解的是“img”已经被打包成“a”或者没有。

为此,我可以使用以下......

$doc = new DOMDocument();
$doc->loadHTML($article_header);

$imgs = $doc->getElementsByTagName('img');
foreach ($imgs as $img) {

?????

}

所以我会得到“img”标签。现在如何获取“img”的父节点并检查它是否为“a”?

3 个答案:

答案 0 :(得分:1)

您可以在foreach循环的正文中尝试这样的代码...

if ($img->parentNode->tagName == 'a') {
   continue;
}

确保它是第一件事,显然:)

答案 1 :(得分:1)

?????将是:

if ($img->parentNode->tagName == "a") { ... }

答案 2 :(得分:0)

以下可能有效

foreach ($imgs as $img) {

    if(!$img.packed) {
       .... //packing code
       $img.packed = true;
    }

}