【发布时间】:2014-09-16 16:08:58
【问题描述】:
我正在尝试清理一些 CMS 输入的 HTML,这些 HTML 到处都有无关的段落标签和 br 标签。事实证明,Sanitize gem 非常有用,但我遇到了一个特定问题。
问题是当段落标记之后/之前直接有一个 br 标记时,例如
<p>
<br />
Some text here
<br />
Some more text
<br />
</p>
我想去掉多余的第一个和最后一个 br 标签,但不是中间的。
我非常希望我可以使用清理转换器来做到这一点,但似乎找不到合适的匹配器来实现这一点。
任何帮助将不胜感激。
【问题讨论】:
-
我对 sanitize 不熟悉,但
/<br \/>(.*)<br \/>/会匹配中间部分,没有前导<br />标签。 -
不要使用正则表达式来操作 HTML。解决方案太脆弱了。
-
而且,您确实需要向我们展示您的尝试。这让我们知道您想知道如何钓鱼,而不仅仅是要求钓鱼。
标签: html ruby-on-rails ruby nokogiri sanitize