Извлечение простого текста из переменной содержимого html в HAML
Я пытаюсь извлечь простой текст из некоторого содержимого HTML в HAML. Например, если у меня есть этот HTML-код в переменной с именем message.content:
Hi, this is a <strong>test</strong> message!
У меня есть строка HAML, как это:
%p= message.content
И я хочу это в качестве вывода:
<p>
Hi, this is a test message!
</p>
Есть ли какой-нибудь способ, которым я могу это сделать? Я смотрел на !=
но он интерпретирует HTML, а также :plain
фильтр, но не повезло. любая помощь будет высоко ценится, спасибо!
1 ответ
Я не знаю помощника HAML для этой цели, и вы должны использовать внешний помощник или использовать RegExp. Я знаю, что RegExp на самом деле не лучший инструмент для обработки HTML, но он отлично работает в простых случаях:
%p= message.content.replace(/<\/?\w+\/?>/g, '')
Так как вы добавили hamlc
тег, и вы можете захотеть, чтобы это решение работало в браузере, вы можете использовать jQuery для извлечения текстового содержимого:
%p= $(message.content).text()