Можно ли предотвратить возврат каретки в DOMText?
Следующие отпечатки
:
$d = new DOMDocument('1.0','utf-8');
$t = $d->createTextNode("\r");
echo $d->saveXML($t);
Другие непечатаемые символы не спасаются. Это единственный символ в однобайтовом диапазоне ASCII, который экранируется как числовой объект. Нулевые байты, кажется, разбивают текст, но от \1
до 0x12
остаются буквальными.
Я также отмечаю, что JavaScript DOM допускает необработанный символ \r
, поэтому, предположительно, это не недействительный байт. В Chrome верно следующее:
var p = document.createElement('p')
p.appendChild( document.createTextNode('\r') );
console.log( '\r' === p.innerHTML );
Меня не интересуют обходные пути. Я просто хочу знать, есть ли какой-то способ управлять этим напрямую при вызове saveXML.