To prevent a parser error when the comment string would contain the character sequence "--", do this:
<?php
$CommentString = 'This contains -- some weird -- characters.';
$CommentNode = $DomDocument->createComment(
str_replace('--', '-'.chr(194).chr(173).'-', $CommentString)
);
?>
This will insert a Soft Hyphen in between the two hyphens which will not cause the parser to error out.
DOMDocument::createComment
(PHP 5)
DOMDocument::createComment — Create new comment node
Descrierea
This function creates a new instance of class DOMComment. Acest nod nu va apărea în document dacă nu este inserat cu DOMNode->appendChild() de exemplu.
Parametri
- data
-
The content of the comment.
Valorile întroarse
The new DOMComment or FALSE if an error occured.
Vedeţi de asemenea
- DOMNode::appendChild - Adds new child at the end of the children
- DOMDocument::createAttribute - Create new attribute
- DOMDocument::createAttributeNS - Create new attribute node with an associated namespace
- DOMDocument::createCDATASection - Create new cdata node
- DOMDocument::createDocumentFragment - Create new document fragment
- DOMDocument::createElement - Create new element node
- DOMDocument::createElementNS - Create new element node with an associated namespace
- DOMDocument::createEntityReference - Create new entity reference node
- DOMDocument::createProcessingInstruction - Creates new PI node
- DOMDocument::createTextNode - Create new text node
DOMDocument::createComment
php dot sirlancelot at spamgourmet dot com
25-Nov-2009 08:10
25-Nov-2009 08:10
capps at solareclipse dot net
29-Mar-2007 11:55
29-Mar-2007 11:55
Use caution: this function does NOT escape, encode, or otherwise change the contents of the string.
This means that if your string contains two hyphens in a row (--), that will *end* the comment, which can easily create invalid XML when the document is serialized.
