Я пытаюсь создать пользовательский канал Angular2, который выводит raw html. Я хочу, чтобы он просто преобразовал новые строки во входные данные в разрывы строк HTML. Как вывести необработанный HTML из Angular2 трубы?
Следующее - это определение текущего потока, но оно ускользает от HTML, который я не хочу:
import {Pipe, PipeTransform} from '@angular/core';
/*
* Converts newlines into html breaks
*/
@Pipe({ name: 'newline' })
export class NewlinePipe implements PipeTransform {
transform(value: string, args: string[]): any {
return value.replace(/(?:\r\n|\r|\n)/g, '<br />');
}
}
РЕДАКТИРОВАТЬ: Просто быстрая заметка, так как этот вопрос, похоже, получает несколько видов и действий, которые я оставляю своим принятым ответом, как есть, хотя для моего конкретного примера css для использования, вероятно, был бы лучшим вариантом и на самом деле я изменился. Но мой фактический вопрос заключался в том, "как мне выводить raw html из angular 2 pipe", а не "лучший способ визуализации разрывов строк", что и показывает принятый ответ.
Остерегайтесь, хотя, как упоминалось в комментариях ниже, если вы используете метод в принятом ответе, вам нужно убедиться, что вы не выполняете неконтролируемый ввод пользователя, так как это может открыть вам уязвимости XSS.