是否可以防止在DOMText中转义回车符?
以下打印
:
$d = new DOMDocument('1.0','utf-8');
$t = $d->createTextNode("\r");
echo $d->saveXML($t);
其他无法打印的字符不会转义。这是单字节ASCII范围内唯一作为数字实体转义的字符。 Nul字节似乎破坏了文本,但是\1
至0x12
保持原义。
我还注意到,JavaScript DOM允许使用原始\r
字符,因此大概不是无效字节。在Chrome中,以下显示为true:
var p = document.createElement('p')
p.appendChild( document.createTextNode('\r') );
console.log( '\r' === p.innerHTML );
我对变通办法不感兴趣。我只想知道在调用saveXML时是否有直接控制此方法的方法。
答案 0 :(得分:-1)
尝试使用此方法createElement
代替createTextNode
。 createTextNode
还会转义您作为参数传递的字符串,而另一个则不会转义