3

Rails3アプリでNokogiriを使用しています。無視します

<br/> 

タグ。このようなタグは住所の改行を表すため、「、」に置き換えたいと思います。どうすればよいですか?私は以下を試しましたが、役に立たないようです:

  doc.inner_html.gsub!("<br/>", ", ")
4

2 に答える 2

10

単に:

doc.css('br').each{ |br| br.replace ", " }

実際に見られる:

require 'nokogiri'
doc = Nokogiri.HTML('<address>900 Magnolia Road<br/>Nederland, CO<br/>80466</address>')
puts doc.root
#=> <html><body><address>900 Magnolia Road<br>Nederland, CO<br>80466</address></body></html>

doc.css('br').each{ |br| br.replace ", " }
puts doc.root
#=> <html><body><address>900 Magnolia Road, Nederland, CO, 80466</address></body></html>

もっと注意し<br>て、タグの内側だけを置き換える<address>場合(たとえば)、次のようにします。

doc.css('address > br').each{ |br| br.replace ", " }
于 2012-05-12T17:10:28.430 に答える
0

次のようにコンテンツを設定します。

doc.inner_html = doc.inner_html.gsub("<br/>", ", ")  # using non-bang version
于 2012-05-12T04:46:41.950 に答える