我必须处理一些看起来非常难看的标记,并且我正在 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/