我正在尝试从<p>
标签之间的 HTML 片段中删除空格
<p>Foo Bar</p> <p>bar bar bar</p> <p>bla</p>
<p> </p>
如您所见,标签之间总是有一个空格。
<br>
问题是在将字符串保存到我的数据库时,空格会创建标签。类似strip
或gsub
仅删除节点中的空格的方法,导致:
<p>FooBar</p> <p>barbarbar</p> <p>bla</p>
而我想要:
<p>Foo Bar</p><p>bar bar bar</p><p>bla</p>
我正在使用:
- Nokogiri 1.5.6
- 红宝石 1.9.3
- 导轨
更新:
偶尔会有<p>
标签的子节点产生同样的问题:
示例代码
注意:代码通常在一行中,我重新格式化它,因为否则它将无法忍受......
<p>
<p>
<strong>Selling an Appartment</strong>
</p>
<ul>
<li>
<p>beautiful apartment!</p>
</li>
<li>
<p>near the train station</p>
</li>
.
.
.
</ul>
<ul>
<li>
<p>10 minutes away from a shopping mall </p>
</li>
<li>
<p>nice view</p>
</li>
</ul>
.
.
.
</p>
我将如何去除那些空白?
解决方案
原来我用这个gsub
方法搞砸了,没有进一步调查使用gsub
with regex
...
简单的解决方案是添加
data = data.gsub(/>\s+</, "><")
它删除了所有不同类型节点之间的空白......正则表达式ftw!