1

私は現在、PHP フレームワークを作成していて、フォーマットの問題に遭遇しました。

私の意図は、いくつかのファイルを組み合わせてロードし、それらをまとめてコンパイルし、適切な HTML としてそれらを追い出すことです。このプロセスでは、行ごとにインデントまたはアウトデントするつもりです。現在、これを実現するために、いくつかの 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>

これは、私が達成しようとしていることとは少し異なります。

私は正規表現の専門家ではありません。またはユーザーでさえ、その方法でこれを達成できると思いますが、どうすればよいかわかりません。

事実上、私の質問はこれです。一度に1行ずつ印刷する場合、これを適切に(プログラム的に)フォーマットする方法はありますか?後の要素との関連性に関係なく、1 行ですべての要素を識別できるライブラリはありますか?

そうでない場合は、自分でこれを処理する新しいクラスを作成するつもりです。

私はこのようなことを達成しようとしています:

<!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>

ありがとうございます。

4

1 に答える 1

2

いくつかのファイルをロードし、それらを文字列に連結して、tidyフォーマットに使用します。

ただし、HTML を生成するコードに問題がある可能性が高く、不正なコードを出力して後で修正するのではなく、修正する必要があります。

于 2012-06-13T19:25:30.967 に答える