为了防止注释字符串包含字符序列 "--" 时出现解析器错误,请执行以下操作
<?php
$CommentString = 'This contains -- some weird -- characters.';
$CommentNode = $DomDocument->createComment(
str_replace('--', '-'.chr(194).chr(173).'-', $CommentString)
);
?>
这将在两个连字符之间插入一个软连字符,这不会导致解析器出错。
(PHP 5, PHP 7, PHP 8)
DOMDocument::createComment — 创建新的注释节点
此函数创建一个新的 DOMComment 类实例。此节点将不会显示在文档中,除非它被插入(例如) DOMNode::appendChild()。
data
注释的内容。
新的 DOMComment。
版本 | 说明 |
---|---|
8.1.0 | 如果发生错误,现在将抛出 DomException。以前返回 false 。 |
为了防止注释字符串包含字符序列 "--" 时出现解析器错误,请执行以下操作
<?php
$CommentString = 'This contains -- some weird -- characters.';
$CommentNode = $DomDocument->createComment(
str_replace('--', '-'.chr(194).chr(173).'-', $CommentString)
);
?>
这将在两个连字符之间插入一个软连字符,这不会导致解析器出错。
请注意:此函数不会转义、编码或以其他方式更改字符串的内容。
这意味着,如果您的字符串包含两个连续的连字符(--),这将 *结束* 注释,当文档被序列化时很容易创建无效的 XML。