【问题标题】:Beautify html output美化html输出
【发布时间】:2011-10-29 17:53:42
【问题描述】:

我想知道是否可以在我的 PHP 页面中包含类或类似的东西来美化 HTML 输出。

比如在标签后面加入新行并正确缩进,这样我的源代码就不仅仅是一行,我知道对于浏览器来说这并不重要,但我希望这样做。

我听说过http://www.php.net/manual/en/book.tidy.php,但不清楚它的作用以及如何实现它,即我不明白手册上的内容。

【问题讨论】:

  • 您不了解完全实现您想要的功能的 PHP 功能的文档,所以您忽略了它并决定要求其他内容?你没试过the provided examples
  • 为什么不首先编写漂亮的 HTML 呢?如果你从 PHP 代码中生成 [任何比结构的微小 sn-ps 还多的东西],你不应该……编写模板,你可以随心所欲地编写它们。
  • 有很多这样的例子,虽然漂亮的源代码只是为了它可能只是虚荣 - 但你可以修复损坏的源代码,如果你有用户提供的 HTML(CMS 可能)。或者您想要“美化”的数据库的压缩输出。我不得不承认我也不了解 php.net 上的示例中的 Tidy 类。
  • 此外,php 模板中漂亮的源代码(IMO 应该做的事情)并不总是添加到漂亮的 HTML 源代码中。
  • @Tomalak Geret'kal 我确实尝试了这些示例,但我的代码没有任何变化,我不理解那里的措辞。我不想用可怕的标签和换行符填充我的 php 代码,但我也没有时间编写模板系统,所以我只需要一个资源来捕获我的 html 输出并整齐地显示它。

标签: php


【解决方案1】:

HTML purifier 或 HTML tidy 似乎是解决这个问题的方法,结合这组功能:http://www.php.net/manual/en/ref.outcontrol.php

http://htmlpurifier.org/ http://tidy.sourceforge.net/

【讨论】:

    【解决方案2】:

    Tidy 扩展要走的路。

    如果您不了解文档(好吧,诚然它不是很透彻),那么 Google 上php tidy tutorials 的第一个结果看起来很有希望:

    【讨论】:

    • 终于让它工作了,但它正在从我的 a 标签中删除我的跨度标签,这是符合标准的,找不到任何关于为什么会发生这种情况的文档你知道吗?我是这样设置的:ob_start( ); 在我的页眉和$html = ob_get_clean(); $config = array('indent' => TRUE, 'output-xhtml' => TRUE, 'wrap' => 200); $tidy = tidy_parse_string($html, $config, 'UTF8'); echo $tidy; 在我的页脚
    • 不要介意span标签是空的,所以它删除了它们,我只是在它们里面添加了一个空格。
    • 你读过config documentation吗?
    • drop-empty-paras 不会阻止我的跨度为空时被删除,包含在配置数组中:'drop-empty-paras' => FALSE
    • -1,整洁比它的价值更麻烦。它与新的 HTML5 元素不兼容(您可以通过一些努力来伪造它)并且它会删除所有空标签(例如 <i icon="something"></i><b class="caret"></b><li class="divider"></li> 等。
    【解决方案3】:

    尝试 Pretty Diff - http://prettydiff.com/?m=beautify&html 它似乎是一个比 Tidy 更完整的算法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-08
      • 1970-01-01
      • 2015-08-28
      • 1970-01-01
      • 2018-04-23
      • 2012-07-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多