Если у вас есть DOMNode
, который имеет некоторые атрибуты, это должно быть DOMElement
. В этом случае вы сможете позвонить removeAttribute/removeAttributeNS/removeAttributeNode
на него.
Несколько любопытно, что PHP DOMNamedNodeMap
документы getNamedItem[NS]
, но не признают существование setNamedItem[NS]
и removeNamedItem[NS]
, что было бы другим способом сделать это.
DOMNode::removeChild
не может работать, потому что DOMAttr
не является потомком другого DOMNode; ‘attributes’
- это отдельный пробел для childNodes
. Вы также не можете создать новый NamedNodeMap
для записи в DOMNode::attributes
, так как это свойство только для чтения.