如何评估PHP中的HTML深度?

时间:2012-06-13 19:20:20

标签: php

我现在正在编写一个PHP框架,并且遇到了一些格式化问题。

我的目的是加载几个文件的组合,将它们一起编译,并将它们作为适当的HTML踢出来。在这个过程中,当我逐行前进时,我打算缩进或突出。现在,我使用'<','& lt /'和'/& gt'的简单检查组合(这里不能使用真正的字符)和一些XML解析来实现这一点,但我我确信有更好的方法可以做到这一点。

现在我的代码给了我这样的东西:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" />
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <title>Your Sitename - Module - Index</title>
    <link rel="stylesheet" href="layout/layout/default/css/styles.css" type="text/css" />
     <link rel="stylesheet" href="php/plugins/MoviePlayer/windows/IE/Silverlight/css/silverlight.css" type="text/css" />
      <script type="text/javascript" src="js/Cookies.js"></script>
       <script type="text/javascript" src="js/GlobalReady.js"></script>
        <script type="text/javascript" src="js/PluginDetection.js"></script>
         <script type="text/javascript" src="js/Silverlight.js"></script>
          <script type="text/javascript" src="js/jquery-1.2.6.min.js"></script>
           <script type="text/javascript" src="js/jquery.flow.1.2.js"></script>
            <script type="text/javascript" src="layout/layout/default/js/LayoutInit.js"></script>
             <script type="text/javascript" src="php/plugins/MoviePlayer/windows/IE/Silverlight/js/SLPlayer.js"></script>
              <script type="text/javascript" src="php/plugins/MoviePlayer/windows/IE/Silverlight/js/wmvplayer.js"></script>
             </head>
              <body onLoad="javascript: GlobalReady();">
               <div id="container">
                <div id="header">
                 </div>
                </div>
               </body>
              </html>

这与我想要实现的目标略有不同。

我不是任何正规表达专家;或者用户甚至,我认为我可以通过这种方式实现这一目标,但不知道如何去做。

实际上,我的问题是这个;如果你一次打印出一行,你将如何正确地进行格式化(以编程方式)?是否有一个库可以识别单行上的所有元素,无论它们与后面的元素有什么关联?

如果不是,我确定我会写一个新课程来自己处理。

我正在努力实现这样的目标:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" />
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Your Sitename - Module - Index</title>
  <link rel="stylesheet" href="layout/layout/default/css/styles.css" type="text/css" />
  <link rel="stylesheet" href="php/plugins/MoviePlayer/windows/IE/Silverlight/css/silverlight.css" type="text/css" />
  <script type="text/javascript" src="js/Cookies.js"></script>
  <script type="text/javascript" src="js/GlobalReady.js"></script>
  <script type="text/javascript" src="js/PluginDetection.js"></script>
  <script type="text/javascript" src="js/Silverlight.js"></script>
  <script type="text/javascript" src="js/jquery-1.2.6.min.js"></script>
  <script type="text/javascript" src="js/jquery.flow.1.2.js"></script>
  <script type="text/javascript" src="layout/layout/default/js/LayoutInit.js"></script>
  <script type="text/javascript" src="php/plugins/MoviePlayer/windows/IE/Silverlight/js/SLPlayer.js"></script>
  <script type="text/javascript" src="php/plugins/MoviePlayer/windows/IE/Silverlight/js/wmvplayer.js"></script>
 </head>
 <body>
 </body>
</html>

提前致谢。

1 个答案:

答案 0 :(得分:2)

加载一些文件,将它们连接成一个字符串,然后使用 tidy 格式化它们。

但是,生成HTML的代码很可能是一个问题,应该修复它,而不是输出格式错误的代码并在以后修复它。