gpt4 book ai didi

php - 在 foreach 循环中从 DOMNode 中删除所有属性

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:06:24 25 4
gpt4 key购买 nike

所以这是行不通的:

        foreach ($element->attributes as $attribute) {
$element->removeAttribute($attribute->name);
}

如果节点有 2 个属性,它只删除第一个。

我尝试克隆 DOMNamedNodeMap 但没有成功:

        $attributesCopy = clone $element->attributes;
foreach ($attributesCopy as $attribute) {
$element->removeAttribute($attribute->name);
}

仍然只删除第一个属性。

这里解释了这个问题:http://php.net/manual/en/class.domnamednodemap.php显然这是一个功能,而不是错误。但是评论里没有提到解决办法。

最佳答案

简单地:

$attributes = $element->attributes;
while ($attributes->length) {
$element->removeAttribute($attributes->item(0)->name);
}

由于属性集合会在删除属性后立即自动重新编制索引,因此只需继续删除属性零,直到没有留下为止。

关于php - 在 foreach 循环中从 DOMNode 中删除所有属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10281355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com