在使用PHP DOM函数进行语法分析时,保留HTML中的原始格式

时间:2014-08-05 11:18:21

标签: php html dom

我有这个PHP代码:

<?php
    $html = file_get_contents($inputFile);
    $document = new DOMDocument();
    $document->loadHTML($html);
    $parsed_html = $document->saveHTML();
?>

当我针对我的HTML运行时,我希望输出与输入完全相同。但我得到的是:

  1. 删除头部中的所有空格字符。
  2. 所有非ASCII字符都替换为实体(例如©&Acirc;&copy;)......这看起来有效......
  3. 正文中删除了一些空格(例如<ul><li>之间的空格。)
  4. 当我使用saveXML时,它会更好一些,但我的HTML不是有效的XML,因为我使用的是HTML5语法。

    示例HTML:

    <!DOCTYPE html>
    <!--
        Copyright:  ©2014 Nux
          License:  CC0
    -->
    
        <html>
        <head>
            <title>Test</title>
            <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
            <meta charset="UTF-8">
        </head>
        <body>
            <div data-lang="en">
                <p>App version 0.1.1.</p>
                <ul>
                    <li>Create model with JSON.</li>
                    <li>Append views to HTML</li>
                    <li>Add interactions in controllers.</li>
                    <li>Test in any browser.</li>
                    <li>Package.</li>
                    <li>Run anywhere.</li>
                </ul>
            </div>
        </body>
    </html>
    

    这是gist with input and output

0 个答案:

没有答案