所以这不起作用:
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 显然这是一个特性,而不是一个错误。但是评论中没有提到解决方案。