【问题标题】:How do I get HTML Tidy to not put newline before closing tags?如何让 HTML Tidy 在结束标签之前不放置换行符?
【发布时间】:2011-01-30 07:17:39
【问题描述】:

HTML Tidy 有在结束标记之前 放置换行符的这种令人讨厌的习惯。例如:

<p>Some text</p>

变成

<p>Some text
</p>

我如何告诉 Tidy 将结束标签与内容的末尾保持在同一行?

顺便说一句,我正在通过 Notepad++ 运行 Tidy,如果这有什么不同的话。

【问题讨论】:

    标签: html text tidy text-formatting htmltidy


    【解决方案1】:

    确保将vertical-space 设置为no。在经历了很多挫折之后,我了解到 switch 唯一能做的就是通过在你不想要的地方添加换行符来搞砸你已经格式化得很好的 html。

    这是我用于微创整理的(不添加 doctypes/head 标签等):

    tidy -mqi --doctype omit --show-body-only true --show-warnings no --vertical-space no --wrap 0

    【讨论】:

    • 赞成,但我觉得我应该向读者添加一个警告-m 选项会导致tidy m就地修改文件(即覆盖它们)。除非您有备份,否则请忽略它,或者对现有文件被破坏感到满意。
    【解决方案2】:

    在php中你可以使用:

    $buffer = preg_replace('/\n<\//smUi','</',$buffer);
    

    【讨论】:

      【解决方案3】:

      嗯,我在 Windows 中看不到它。

      我正在使用 Tidy 和 ruby​​

         @tidy.options.output_xhtml = true
         @tidy.options.show_body_only = true
         @tidy.clean('<p>Some text</p>')
      

      我还在 unbuntu (tidy -m test.htm) 中运行了 tidy 脚本,但没有发现这个问题。 您可以使用以下选项控制间距 http://tidy.sourceforge.net/docs/quickref.html#PrettyPrintHeader

      【讨论】:

      • 我以前看过这些选项,但似乎都没有必要。顺便说一句,我正在通过 Notepad++ 运行 TIDY,如果这有什么不同的话。
      • 不知道如何使用 NotePad++,但 'wrap=160' 选项可能会有所帮助。但是您看到的问题可能与notePad++有关
      猜你喜欢
      • 1970-01-01
      • 2019-04-30
      • 1970-01-01
      • 2021-02-08
      • 2013-12-22
      • 1970-01-01
      • 2012-10-03
      • 2011-06-04
      • 2021-01-26
      相关资源
      最近更新 更多