note 112450 added to domelement.removeattributenode

From: Date: Tue, 18 Jun 2013 13:16:15 +0000
Subject: note 112450 added to domelement.removeattributenode
Groups: php.notes 
Request: Send a blank email to php-notes+get-195261@lists.php.net to get a copy of this message
Basic: I use PHP5.4.9 from Ubuntu 13.04 repository. The aim of my code is to iterate HTML source (as a DomDocument) recursively and cleanup everything that is not valid to be used inside Epub files (i.e. and attribute align is not valid for paragraphs in Epubs). FIRST: Today I tried removing attributes from a DOMElement using this simple code: <?php for ( $k=0; $k < $element->attributes->length; $k++) { if( /* some rule */ ){ var_dump( $element->attributes->item($k)->nodeName); $element->removeAttributeNode( $element->attributes->item($k)); } } ?> Unfortunately all attributes still existed when this loop was finished, even if these var_dumps told me that deleting them was tried. I solved this problem iterating the attributes list backward: <?php for ( $k = $element->attributes->length - 1; $k >= 0; --$k) { if( /* same rule */ ){ var_dump( $element->attributes->item($k)->nodeName); $element->removeAttributeNode( $element->attributes->item($k)); } } ?> SECOND: DOMElement::removeAttributeNode does NOT return a bool but a DOMAttr object. ---- Server IP: 69.147.83.199 Probable Submitter: 178.24.196.75 ---- Manual Page -- http://php.net/manual/en/domelement.removeattributenode.php Edit -- https://master.php.net/note/edit/112450 Del: integrated -- https://master.php.net/note/delete/112450/integrated Del: useless -- https://master.php.net/note/delete/112450/useless Del: bad code -- https://master.php.net/note/delete/112450/bad+code Del: spam -- https://master.php.net/note/delete/112450/spam Del: non-english -- https://master.php.net/note/delete/112450/non-english Del: in docs -- https://master.php.net/note/delete/112450/in+docs Del: other reasons-- https://master.php.net/note/delete/112450 Reject -- https://master.php.net/note/reject/112450 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#195261) next »