<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>
私は使用しています:
- のこぎり1.5.6
- ルビー1.9.3
- レール
アップデート:
時折<p>
、同じ問題を生成するタグの子ノードがあります: 間に空白があります。
サンプルコード
注: コードは通常 1 行です。そうしないと耐えられないので、再フォーマットしました...
<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>
これらの空白も削除するにはどうすればよいですか?
解決
メソッドの使用を台無しにして、withgsub
を使用する可能性をさらに調査しなかったことが判明しました...gsub
regex
簡単な解決策は追加でした
data = data.gsub(/>\s+</, "><")
さまざまな種類のノード間の空白をすべて削除しました...正規表現です!