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;]','&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&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

Reply via email to