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 — Yeni bir açıklama düğümü oluşturur
Açıklama
Yeni bir DOMComment nesnesi oluşturur. Bu düğüm, DomNode::append_child() gibi bir yöntemle belgeye yerleştirilmedikçe belgede gösterilmez.
Değiştirgeler
-
veri -
Açıklamanın içeriği.
Dönen Değerler
Bir hata oluşursa FALSE yoksa yeni
bir DOMComment nesnesi döner.
Ayrıca Bakınız
- DOMNode::appendChild() - Listenin sonuna yeni bir çocuk ekler
- DOMDocument::createAttribute() - Yeni bir öznitelik düğümü oluşturur
- DOMDocument::createAttributeNS() - Yeni bir isim alanlı öznitelik düğümü oluşturur
- DOMDocument::createCDATASection() - Yeni bir CDATA düğümü oluşturur
- DOMDocument::createDocumentFragment() - Yeni bir belge bölütü oluşturur
- DOMDocument::createElement() - Yeni bir eleman düğümü oluşturur
- DOMDocument::createElementNS() - İsim alanlı bir eleman düğümü oluşturur
- DOMDocument::createEntityReference() - Yeni bir öğe bildirimi düğümü oluşturur
- DOMDocument::createProcessingInstruction() - Yeni bir işlem komutu düğümü oluşturur
- DOMDocument::createTextNode() - Yeni bir metin düğümü oluşturur
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.
