Bug #16420 Updated: new_child not working properly

From: Date: Thu, 18 Apr 2002 05:43:59 +0000
Subject: Bug #16420 Updated: new_child not working properly
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-5257@lists.php.net to get a copy of this message
ID: 16420 Updated by: steinm@php.net Reported By: miroslav.spanel@cad-programs.com -Status: Open +Status: Closed Bug Type: DOM XML related Operating System: Windows 2000 Server PHP Version: 4.1.2 New Comment: This bug has been fixed in CVS. The latest cvs version provides better DOM compliance and has a function DomNode->create_text_node() which even accepts a '&'. The following works just fine: <?php $doc = domxml_new_doc("1.0"); $root = $doc->create_element("HTML"); $root = $doc->append_child($root); $head = $doc->create_element("HEAD"); $head = $root->append_child($head); $title = $doc->create_element("TITLE"); $title = $head->append_child($title); $text = $doc->create_text_node("This is & the title"); $text = $title->append_child($text); $body = $doc->create_element("BODY"); $body = $root->append_child($body); $bodytext1 = $doc->create_text_node("The text of the body"); $bodytext2 = $doc->create_text_node("Some more text of the body"); $bodytext1 = $body->append_child($bodytext1); $bodytext2 = $body->append_child($bodytext2); echo "<PRE>"; echo htmlentities($doc->dump_mem(true)); echo "</PRE>"; Previous Comments: ------------------------------------------------------------------------ [2002-04-16 20:18:16] s.li@gmx.de It is the responsibility of the developer to use valid XML when assigning content to a new code. 'element&value' is not valid XML. So in my opinion this is not a bug but a developer shooting himself in the foot :) ------------------------------------------------------------------------ [2002-04-04 04:01:29] miroslav.spanel@cad-programs.com For now I'am using ereg_replace('[&][^amp;]','&amp;',$value) to correct problem. ------------------------------------------------------------------------ [2002-04-04 03:50:56] miroslav.spanel@cad-programs.com Description of bug: Placing amperstand '&' in 'content' parameter of 'new_child' method produce trim of content at '&' position. How to reproduce bug: <? $doc = new_xmldoc("1.0"); $root = $doc->add_root('root'); $chld = $root->new_child('element','element&value'); $chld->set_attribute('attr','attribute&value'); echo $doc->dumpmem(); ?> Output will be: <?xml version="1.0"?> <root> <element attr="attribute&amp;value">element</element> </root> Element has only 'element' value instead of 'element&amp;value' ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=16420&edit=1

« previous php.bugs (#5257) next »