Все коды специальных символов не преобразуются в соответствующий символ с помощью Domsanitizer - PullRequest
1 голос
/ 11 марта 2019

У меня есть код Apostrophe (') в строке Пример: «Test'Name», с помощью Domsanitizer я очищаю его для преобразования «в символ Apostrophe».Но если у меня есть код двойных кавычек ("), он не преобразуется в соответствующий символ. Мало того, (&) также не преобразует код (&) в символ. Ниже приведен код, который я написал до сих пор..

Правильно ли я поступаю в отношении преобразования из кода в символ?

let txt = 'Test"Name';
let txt2 = 'Test'Name';
txt = this.sanitizer.sanitize( SecurityContext.HTML, txt );
txt2 = this.sanitizer.sanitize( SecurityContext.HTML, txt2 );

const ul = this.renderer.createElement('ul');
const li = this.renderer.createElement('li');
const li2 = this.renderer.createElement('li');
const text = this.renderer.createText(txt);
const text2 = this.renderer.createText(txt2);

this.renderer.appendChild(li, text);
this.renderer.appendChild(li2, text2);
this.renderer.appendChild(ul, li);
this.renderer.appendChild(ul, li2);
this.renderer.appendChild(this.el.nativeElement, ul);

Найдите здесь Stackblitz

Проблема1: Некоторые коды не преобразуются в соответствующие символы

Выпуск 2: Если у меня есть несколько французских символов, таких как é, то он преобразуется в код вместо отображениято же самое (тоже обновил стек)

1 Ответ

1 голос
/ 11 марта 2019

В вашем случае sanitizer преобразует значение для безопасного использования в DOM браузера.

Поэтому вам необходимо присвоить преобразованное значение innerHTML (не текстовым узлам).

const ul = this.renderer.createElement('ul');
const li = this.renderer.createElement('li');
const li2 = this.renderer.createElement('li');
li.innerHTML = txt;   // <- inner html
li2.innerHTML = txt2; // <- inner html

this.renderer.appendChild(ul, li);
this.renderer.appendChild(ul, li2);
this.renderer.appendChild(this.el.nativeElement, ul);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...