在 PHP 中整理 HTML5 输出缩进

发布于 2024-10-18 23:29:52 字数 379 浏览 1 评论 0原文

我的 Web 应用程序将 HTML5 输出生成为可变数量视图的串联。最终结果是一团混乱的缩进:

            </div>
        </div>

        <div id="content">

<div id="question-header">
    <h1>

我想缩进代码以掩盖各个视图的起源并使输出更易于理解。

我已经研究了 Tidy PHP 扩展,但我所有的尝试都让它工作HTML5 产生了不正确的缩进。

My web application produces HTML5 output as a concatenation of a variable number of views. The end result is a mess of indentation:

            </div>
        </div>

        <div id="content">

<div id="question-header">
    <h1>

I want to indent the code to obscure the origin of individual views and to make the output easier to follow.

I have looked into the Tidy PHP extension but all my attempts to make it work with HTML5 have produced improper indenting.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

提赋 2024-10-25 23:29:52

如果您想掩盖各个视图的来源,我建议您缩小 HTML。这将具有减少文档大小的额外好处。

为了使 HTML 输出更易于理解,浏览器附带了调试实用程序,可以以缩进格式解析和渲染 DOM 树,例如 https://trac.webkit.org/wiki/WebInspectorhttp://getfirebug.com/< /a>.

If you want to obscure the origin of individual views, I suggest you to minify the HTML. This will have the added benefit of reducing the document size.

As for making the HTML output easier to follow, browsers come with debug utilities that parse and render out DOM tree in an indented format, e.g. https://trac.webkit.org/wiki/WebInspector, http://getfirebug.com/.

下雨或天晴 2024-10-25 23:29:52

最接近您在 PHP 领域中寻找的内容的是 Dindent,https://github.com/gajus/dindent< /a>. Dindent 是一个 HTML 美化器,它使用正则表达式来缩进标记。这与 Tidy 不同,Tidy 充当 DOM 解析器。

从文档中:

有充分的理由不使用正则表达式来解析 HTML。
然而,DOM 解析器将重建整个 HTML 文档。它将添加
缺少标签、关闭打开的块标签或删除任何不属于的内容
有效的 HTML。这就是 Tidy 所做的事情,DOM 等。这种行为是
调试 HTML 输出时不受欢迎。基于正则表达式的解析器不会
重建文档。 Dindent 只会添加缩进,而不会
否则会影响标记。

Dindent 的唯一目的是缩进 HTML 标记。它允许配置哪些元素被视为内联以及哪些元素被视为块。

The closest to what you are looking for in the PHP land is Dindent, https://github.com/gajus/dindent. Dindent is a HTML beautifier that uses regular expressions to indent the markup. This is different from Tidy, that acts as a DOM parser.

From the documentation:

There is a good reason not to use regular expression to parse HTML.
However, DOM parser will rebuild the whole HTML document. It will add
missing tags, close open block tags, or remove anything that's not a
valid HTML. This is what Tidy does, DOM, etc. This behavior is
undesirable when debugging HTML output. Regex based parser will not
rebuild the document. Dindent will only add indentation, without
otherwise affecting the markup.

Dindent sole purpose is to indent the HTML markup. It allows to configure what elements to treat as inline and what elements to treat as block.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文