私は現在、HTMLtidy用のRubyTidyRubyバインディングを使用して、受け取ったHTMLが整形式であることを確認しています。現在、このライブラリは、Ruby1.9でRailsアプリケーションを入手することを妨げている唯一のものです。Ruby 1.9でHTMLのチャンクを整理する代替ライブラリはありますか?
6997 次
4 に答える
7
Nokogiriを使用して無効な html を修正しています。
Nokogiri::HTML::DocumentFragment.parse(html).to_html
于 2010-11-29T08:42:30.410 に答える
7
http://github.com/libc/tidy_ffi/blob/master/README.rdocは ruby 1.9 (最新バージョン) で動作します
Windows で作業している場合は、library_path を設定する必要があります。
require 'tidy_ffi'
TidyFFI.library_path = 'lib\\tidy\\bin\\tidy.dll'
tidy = TidyFFI::Tidy.new('test')
puts tidy.clean
(tidy と同じ dll を使用します) 上記のリンクは、使用例をさらに示しています。
于 2010-04-21T18:36:03.320 に答える
3
これは、tidy を使用して HTML の見栄えを良くする方法の良い例です。
require 'tidy'
Tidy.path = '/opt/local/lib/libtidy.dylib' # or where ever your tidylib resides
nice_html = ""
Tidy.open(:show_warnings=>true) do |tidy|
tidy.options.output_xhtml = true
tidy.options.wrap = 0
tidy.options.indent = 'auto'
tidy.options.indent_attributes = false
tidy.options.indent_spaces = 4
tidy.options.vertical_space = false
tidy.options.char_encoding = 'utf8'
nice_html = tidy.clean(my_nasty_html_string)
end
# remove excess newlines
nice_html = nice_html.strip.gsub(/\n+/, "\n")
puts nice_html
より整頓されたオプションについては、man ページを確認してください。
于 2010-04-16T08:08:25.703 に答える
1
現在、このライブラリは、Ruby 1.9 で Rails アプリケーションを取得することを妨げている唯一のものです。
注意してください、Ruby Tidy バインディングには厄介なメモリ リークがあります。現在、実行時間の長いプロセスでは使用できません。(記録のために、私はhttp://github.com/ak47/tidyを使用しています)
毎分約1MBのリークがあったため、本番Rails 2.3アプリケーションから削除する必要がありました。
于 2010-03-11T09:49:46.777 に答える