2013-11-22 3 views
1

Хорошо, что я хочу сделать, это удалить содержимое моего html-файла, локально, а затем выложить его в файл. Эта часть работает, но когда я это делаю, она вынимает все интервалы, например, у меня есть тег H1 с содержимым и тэгом P, используя код ниже, который я запускаю, разделенный материал - это место d в файле, но его на одна строка, я хочу, чтобы ее разбивали на несколько строк.Strip html with nokogiri keep spacing

require "rubygems" 
require "nokogiri" 

my_html = open("./my_html.html") 
File.open("./no_html.txt", "a+") do |file| 
file.puts Nokogiri::HTML(my_html).text 
end 
+0

Посмотрите на это [вопрос] (http://stackoverflow.com/questions/1898829/how-do-i-pretty-print-html-with-nokogiri). Возможно, это то, что вы ищете. – Mircea

ответ

0

Если вы хотите, чтобы разделить строку, которая возвращается из Nokogiri::HTML(my_html).text, вы можете использовать String#scan:

> "abcdefghijklmnpqrstuvwxyzfdsafadfasfadsfafdasfadfasdfasdfasdfdsf".scan(/.{5}/) 
=> ["abcde", "fghij", "klmnp", "qrstu", "vwxyz", "fdsaf", "adfas", "fadsf", "afdas", "fadfa", "sdfas", "dfasd"] 

Если вы хотите украсить HTML использовать

Nokogiri::HTML(my_html,&:noblanks) 

как отмечается в сообщении SO @ Mircea, указанном в комментариях.