@jeremy13
frontend-developer

Как заэскейпить все теги кроме br в angular?

Задача нужно сделать перенос строк в сообщениях от клиентов.
Есть сообщение от клиента, которое может содержать все что угодно, нужно заменить переносы строк(\n) на <br/>.

По умолчанию, ангуляр все режет, а если использовать $sce, то он отображает все как html.
А мне по сути нужно заэскепить сначало сообщение, потом заменить переносы строк на <br/> и отобразить это как html.
Не пойму как это можно сделать
  • Вопрос задан
  • 3048 просмотров
Решения вопроса 1
@Demetros
.filter('nl2br', ['$sce', function ($sce) {
    return function (text) {
        return text ? $sce.trustAsHtml(text.replace('<', '&laquo;').replace('>', '&raquo;').replace(/\n/g, '<br/>')) : '';
    };
}]);


<div ng-bind-html="text | nl2br"></div>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы