|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? ????, PHP 7.4.0RC4
+- SimpleXML:
+ . Fixed bug #75245 (Don't set content of elements with only whitespaces).
+ (eriklundin)
03 Oct 2019, PHP 7.4.0RC3
}
while (node) {
- if (node->children != NULL || node->prev != NULL || node->next != NULL) {
+ if (node->children != NULL || node->prev != NULL || node->next != NULL || xmlIsBlankNode(node)) {
SKIP_TEXT(node);
} else {
if (node->type == XML_TEXT_NODE) {
echo "Done\n";
?>
--EXPECTF--
-object(SimpleXMLElement)#%d (1) {
- [0]=>
- string(2) "
-
-"
+object(SimpleXMLElement)#%d (0) {
}
-object(SimpleXMLElement)#%d (1) {
- [0]=>
- string(2) "
-
-"
+object(SimpleXMLElement)#%d (0) {
}
string(15) "<test>
--- /dev/null
+--TEST--
+Bug #75245 Don't set content of elements with only whitespaces
+--SKIPIF--
+<?php
+if (!extension_loaded('simplexml')) die('skip simplexml not available');
+?>
+--FILE--
+<?php
+var_dump(simplexml_load_string('<test1><test2> </test2><test3></test3></test1>'));
+?>
+===DONE===
+--EXPECT--
+object(SimpleXMLElement)#1 (2) {
+ ["test2"]=>
+ object(SimpleXMLElement)#2 (0) {
+ }
+ ["test3"]=>
+ object(SimpleXMLElement)#3 (0) {
+ }
+}
+===DONE===