ID: 16420 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -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] [EMAIL PROTECTED] 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] [EMAIL PROTECTED] For now I'am using ereg_replace('[&][^amp;]','&',$value) to correct problem. ------------------------------------------------------------------------ [2002-04-04 03:50:56] [EMAIL PROTECTED] 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&value">element</element> </root> Element has only 'element' value instead of 'element&value' ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=16420&edit=1