Rails删除父HTML标记

时间:2010-03-09 00:17:58

标签: html ruby-on-rails

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

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

我知道我可以很容易地在JQuery中执行此操作,但我觉得在保存文本之前,这应该在我的控制器中完成。

有办法做到这一点吗?

2 个答案:

答案 0 :(得分:2)

您的文字是否始终包含在单个&lt; p&gt; ...&lt; / p&gt;中块?如果是这样,只需将其子串。

new_text = text[3, text.length - 7]

答案 1 :(得分:1)

使用正则表达式,即

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

删除开始和结束<p>标记周围的前导和尾随空格。

<强> E.g:

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>"