【问题标题】:Extracting plain text from an html content variable in HAML从 HAML 中的 html 内容变量中提取纯文本
【发布时间】:2013-04-01 21:52:13
【问题描述】:

我正在尝试从 HAML 中的某些 HTML 内容中提取纯文本。例如,如果我在一个名为 message.content 的变量中有这个 HTML:

Hi, this is a <strong>test</strong> message!

我有这样的 HAML 行:

%p= message.content

我想要这个作为输出:

<p>
  Hi, this is a test message!
</p>

有什么办法可以做到吗?我看过!=,但它解释了HTML,还有:plain过滤器,但没有运气。任何帮助将不胜感激,谢谢!

【问题讨论】:

    标签: html haml hamlc


    【解决方案1】:

    我不知道用于此目的的 HAML 助手,您必须使用外部助手或使用 RegExp。我知道 RegExp 并不是 HTML 处理的真正首选工具,但在简单的情况下它可以正常工作:

    %p= message.content.replace(/<\/?\w+\/?>/g, '')
    

    由于您添加了hamlc 标签并且您可能希望此解决方案在浏览器中工作,您可以使用 jQuery 来提取文本内容:

    %p= $(message.content).text()
    

    【讨论】:

    • 是的,我最终使用了你提到的 jQuery。我认为它比 RegExp 更安全,谢谢!。
    猜你喜欢
    • 1970-01-01
    • 2012-04-03
    • 1970-01-01
    • 2014-01-26
    • 2016-12-20
    • 1970-01-01
    • 2017-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多