【问题标题】:Tidying PHP and HTML Code?整理 PHP 和 HTML 代码?
【发布时间】:2011-04-04 21:18:57
【问题描述】:

我想知道是否有人可以帮助我我一直在使用 HTML tidy 和 eclipses 内置函数来整理我的代码。我在以下情况下遇到了很大的麻烦...

  1. 当通过包含在文件之间拆分 HTML 时,具有正确缩进结构的结果有助于通过浏览器工具进行调试。

  2. PHP 和 HTML 一起使用时。例如 PHP if 语句围绕 HTML 代码,您不会正确缩进 PHP 和 HTML。 (自动化这个How to properly indent PHP/HTML mixed code?

我可以忍受的情况之一,并且有办法解决它。但是,如果有人能针对情况二提供解决方案,我将不胜感激。

我使用的工具 eclipse 3.6、Aptanna 2.05 PDT 2.2

【问题讨论】:

    标签: php html indentation htmltidy


    【解决方案1】:

    您可以使用 PHP 中的 HTML Tidy 来清理您的输出。使用 ob_start() 和朋友将整个 HTML 输出作为字符串,然后通过 Tidy 发送。但是,如果您这样做,您可能希望使用某种缓存。

    <?php
    
        function callback($buffer)
        {
            // Clean up
    
            $config = array(
                'indent'         => true,
                'output-xhtml'   => true,
                'wrap'           => 200);
    
            return tidy_repair_string($buffer, $config, 'utf8');
        }
    
    
        // Do some output.
    
        ob_start("callback");
        ?>
            <html>
                <body>
                    <p>Outputting stuff here</p>
                    <p>
                        Testing a broken tag:
                        <span> This span should be closed by Tidy.
                    </p>
                </body>
            </html>
        <?php
        ob_end_flush();
    
    ?>
    

    【讨论】:

    • 感谢这是一个非常好的动态输出解决方案。但是源代码中嵌入的 PHP 和 HTML 呢?例如...

      这是一个例子。

      我相信,HTML tidy 在这种情况下无法正确缩进 PHP。
    • 这就是输出缓冲与回调的重点。您缓冲整个脚本的输出,然后通过 Tidy 运行它,作为将其发送到客户端之前完成的最后一件事。此时整个页面都已生成,因此您可以很好地格式化整个页面。
    • 抱歉有点慢。那么你的意思是用 HTMLtidy 回调运行代码获取 HTML 输出,然后将格式化的 HTML 粘贴回格式化的 PHP 代码? .. 因此,HTML 和 PHP 在源代码和输出中都显示为正确格式。
    • 这就是我要为 2.stackoverflow.com/questions/1155799/… 自动化的内容
    猜你喜欢
    • 2017-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-11
    • 2023-03-05
    • 2011-01-05
    • 2018-10-17
    • 2017-07-28
    相关资源
    最近更新 更多