Как предотвратить выход возврата каретки в DOMText? - PullRequest
0 голосов
/ 22 мая 2019

Можно ли предотвратить возврат каретки в 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.

1 Ответ

0 голосов
/ 22 мая 2019

попробуйте использовать этот метод createElement вместо createTextNode.createTextNode также экранирует строку, которую вы передаете в качестве параметра, другая не

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...