【问题标题】:Rails remove parent HTML tagRails 移除父 HTML 标签
【发布时间】:2010-03-09 00:17:57
【问题描述】:

使用 Rails 帮助程序清理 HTML 并删除 HTML 标记的所有实例非常容易...

但是你如何只删除一个标签?在这种情况下,我使用了一个 WYSIWYG 编辑器,它坚持将我的所有文本包装在 <p> 标记中。我想删除这个父标签,而不去掉文本内容中的任何其他<p> 标签。

我知道我可以很容易地在 JQuery 中做到这一点,但我觉得这应该在我保存文本之前在我的控制器中的服务器端完成。

有没有办法做到这一点?

【问题讨论】:

    标签: html ruby-on-rails


    【解决方案1】:

    您的文本是否总是包含在单个

    ...

    块中?如果是这样,只需将其子串。
    new_text = text[3, text.length - 7]
    

    【讨论】:

    • 是的,它是......但这感觉有点老套,所以我只是想知道是否有更好的方法......
    【解决方案2】:

    使用正则表达式,即

    text.gsub(/(^[ ]*<p>[ ]*)|([ ]*<\/p>[ ]*$)/, '')
    

    删除开始和结束&lt;p&gt; 标记周围的前导和尾随空格。

    例如:

    text = "<p> <div><p>Hello World</p></div> </p>"
    #=> "<div><p>Hello World</p></div>"
    
    text = "        <p> <p>Hello World</p> </p>   "
    #=> "<p>Hello World</p>"
    

    【讨论】:

    • 不会删除文本中的所有

      标签吗?

    • 它不像^ 和$ 那样将其限制为第一个和最后一个&lt;p&gt; 标签。我已经更新了代码以删除前导和尾随空格。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-22
    • 2013-09-30
    • 1970-01-01
    相关资源
    最近更新 更多