在 Ruby 中转换回 HTML
Converting back to HTML in Ruby
我正在解析HTML内容:
doc = Nokogiri::HTML::DocumentFragment.parse(html_content)
我正在用 class 名称 'pubdate online' 替换 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 内容并替换文本。
如前所述here,你能试试这个吗:
node = doc.at_css("p.pubdate.online")
node.content = self.send("#{article_type}_released_at").strftime("%B %d, %Y")
doc.to_html
试试这个
doc = Nokogiri::HTML(html_content)
我无法重现您的问题,但让我印象深刻的是您将 html_content
解析为片段而不是完整文档。
我正在解析HTML内容:
doc = Nokogiri::HTML::DocumentFragment.parse(html_content)
我正在用 class 名称 'pubdate online' 替换 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 内容并替换文本。
如前所述here,你能试试这个吗:
node = doc.at_css("p.pubdate.online")
node.content = self.send("#{article_type}_released_at").strftime("%B %d, %Y")
doc.to_html
试试这个
doc = Nokogiri::HTML(html_content)
我无法重现您的问题,但让我印象深刻的是您将 html_content
解析为片段而不是完整文档。