如何防止在DOMText中转义回车符?

时间:2019-05-22 13:06:37

标签: php dom

是否可以防止在DOMText中转义回车符?

以下打印

$d = new DOMDocument('1.0','utf-8');
$t = $d->createTextNode("\r");
echo $d->saveXML($t);

其他无法打印的字符不会转义。这是单字节ASCII范围内唯一作为数字实体转义的字符。 Nul字节似乎破坏了文本,但是\10x12保持原义。

我还注意到,JavaScript DOM允许使用原始\r字符,因此大概不是无效字节。在Chrome中,以下显示为true:

var p = document.createElement('p')
p.appendChild( document.createTextNode('\r') );
console.log( '\r' === p.innerHTML );

我对变通办法不感兴趣。我只想知道在调用saveXML时是否有直接控制此方法的方法。

1 个答案:

答案 0 :(得分:-1)

尝试使用此方法createElement代替createTextNodecreateTextNode还会转义您作为参数传递的字符串,而另一个则不会转义