File tree Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Original file line number Diff line number Diff line change @@ -1326,6 +1326,14 @@ void dom_normalize (xmlNodePtr nodep)
1326
1326
break ;
1327
1327
}
1328
1328
}
1329
+ strContent = xmlNodeGetContent (child );
1330
+ if (* strContent == '\0' ) {
1331
+ nextp = child -> next ;
1332
+ xmlUnlinkNode (child );
1333
+ php_libxml_node_free_resource (child );
1334
+ child = nextp ;
1335
+ continue ;
1336
+ }
1329
1337
break ;
1330
1338
case XML_ELEMENT_NODE :
1331
1339
dom_normalize (child );
Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ Bug #78221 (DOMNode::normalize() doesn't remove empty text nodes)
3
+ --SKIPIF--
4
+ <?php
5
+ if (!extension_loaded ('dom ' )) die ('skip dom extension not available ' );
6
+ ?>
7
+ --FILE--
8
+ <?php
9
+ $ doc = new DOMDocument ();
10
+ $ doc ->loadHTML ('<p id=x>foo</p> ' );
11
+ $ p = $ doc ->getElementById ('x ' );
12
+ $ p ->childNodes [0 ]->textContent = '' ;
13
+ $ p ->normalize ();
14
+ var_dump ($ p ->childNodes ->length );
15
+ ?>
16
+ --EXPECT--
17
+ int(0)
You can’t perform that action at this time.
0 commit comments