问题描述
||
例如,在我的HTML中,我有\“ img \”标签。
我想将它们打包成\“ a \”标签
如果我这样做一次,一切都很好。但是下一次已经打包的标签又重新打包,那就不好了。我想了解的是\“ img \”已经打包到\“ a \”中了。
为此,我可以使用以下...
$doc = new DOMDocument();
$doc->loadHTML($article_header);
$imgs = $doc->getElementsByTagName(\'img\');
foreach ($imgs as $img) {
?????
}
因此,我将由此获得\“ img \”标签。现在如何获取\“ img \”的父节点并检查它是否为\“ a \”?
解决方法
?????
将是:
if ($img->parentNode->tagName == \"a\") { ... }
, 您可以在foreach
循环的主体中尝试这样的代码...
if ($img->parentNode->tagName == \'a\') {
continue;
}
确保这是第一件事,很明显:)
, 以下可能有效
foreach ($imgs as $img) {
if(!$img.packed) {
.... //packing code
$img.packed = true;
}
}