ruby - HTML 美化器将输入标签放在单独的行上

标签 ruby htmltidy

我必须处理一些看起来非常难看的标记,并且我正在 ruby​​ 上通过 Tidy 运行它。在大多数情况下,它工作得很好,除了它将标记中的大量隐藏输入集中到一行上这一事实之外。我知道有一个列换行的设置,但如果它只是将同级输入放在单独的行上会更好。这很重要,因为在查看标记并快速查看这些隐藏输入中的信息时,它可以简化调试。

我还没有找到一个工具可以做到这一点。那么到底是有什么问题还是我太愚蠢了?

我还应该补充一点,很多问题源于我最初得到的错误标记,并且在它到达我之前我无法采取任何措施来清理它。我尝试 Nokogiri-pretty 来清理它,它非常接近完美,但它将脚本标签变成了自闭合标签,这不好。

现在我正在整理源代码,然后(我知道这很糟糕)gsub(/<input[^>]*>/, '\0'+"\n") 。我喜欢这样一个事实:我必须将捕获与换行符连接起来。

最佳答案

Tidy 在 Ruby 中往往会出现问题。已经reported泄漏内存,它不兼容 1.9 等。但是,您可以使用 Nokogiri 和 nokogiri-pretty 完全跳过 Tidy。 gem 。

假设您有 Nokogiri 文档:

require 'nokogiri-pretty'
puts doc.human

除了其他整理,全部<input>标签将独占一行并正确缩进。

关于ruby - HTML 美化器将输入标签放在单独的行上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9404690/

相关文章:

ruby - 如何在 Ruby 中设置套接字超时?

javascript - 如何在 Javascript 中调用 ruby​​ 值

ruby - 按两个值对数组进行排序

c# - 将 html 字符串拆分为 N 部分

sublimetext3 - 我不知道如何让 sublimelinter-html-tidy 工作

ruby - 如何使用适用于 ruby​​ 的 aws sdk 创建 route53 记录集?

ruby-on-rails - 如何跟踪 Ruby on Rails 的部分页面浏览量或分析?

php - php tidy 的替代品?

delphi - Delphi是否没有Unicode版本的HTML Tidy?