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 — ساخت گره توضیح جدید
Description
این تابع نمونه جدید کلاس DOMComment را میسازد. This node will not show up in the document unless it is inserted with (e.g.) DOMNode->appendChild().
Parameters
- data
-
محتوای توضیح.
Return Values
DOMComment جدید یا FALSE اگر خطا رخ داده باشد.
See Also
- DOMNode::appendChild() - Adds new child at the end of the children
- DOMDocument::createAttribute() - ساخت ویژگی جدید
- DOMDocument::createAttributeNS() - ساخت گره ویژگی جدید به همراه فضای نام مربوط
- DOMDocument::createCDATASection() - ساخت گره جدید cdata
- DOMDocument::createDocumentFragment() - ساخت قطعه جدید سند
- 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
php dot sirlancelot at spamgourmet dot com ¶
3 years ago
capps at solareclipse dot net ¶
6 years ago
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.
