2017-01-17 53 views
1

我解析HTML內容:轉換回HTML在Ruby中

doc = Nokogiri::HTML::DocumentFragment.parse(html_content) 

我使用類名稱「pubdate的網上」替換p標籤的文本。

doc.css("p.pubdate.online").each do |node| 
    node.content = self.send("#{article_type}_released_at").strftime("%B %d, %Y") 
end 

而我試圖將解析的HTML轉換回原始的HTML。

doc.to_html 

但現在doc.to_html沒有<DOCTYPE!><head>標籤或標籤<body>。所以問題是使用HTML時我得到原始HTML代碼而不是HTML頁面。幫助我將文檔轉換回原始HTML內容並替換文本。

回答

0

試試這個

doc = Nokogiri::HTML(html_content) 

我無法重現你的問題,而是什麼伸出我的是,你解析html_content作爲一個片段而不是一個完整的文檔。

0

如前所述here,你可以試試這個:

node = doc.at_css("p.pubdate.online") 
node.content = self.send("#{article_type}_released_at").strftime("%B %d, %Y") 
doc.to_html