0

昔、私はスタイル「ノーマライザー」プログラムを書き、古典的な ASP ページの山積みの ASP/HTML コードをスキャンしました。 -オフスタイル)。スタイル ノーマライザーは、スタイルシートとスタイルの最小限のセットと新しい「サニタイズされた」asp/html ドキュメントを生成したため、サニタイズされたドキュメントは元のドキュメントとまったく同じレンダリング出力を生成しました (スクリーンショットの画像比較で検証)。

ときどき、このようなプログラムの必要性に出くわし、商用リリース用のプログラムを作成するアイデアをいじっています。

私のグーグル スキルでは、これとまったく同じものは見つかりませんでした (HTML:Normalize Perl モジュールと HTML Tidy プロジェクトはタグをクリーンアップしているようです)。

だから、私の質問は次のとおりです。

  1. そのようなツールはすでに商用またはその他の方法で存在しますか?
  2. そうでない場合、誰かが本当にそれを必要としていますか?
  3. もしそうなら、どのような機能が真に価値のあるものになるでしょうか?

#3 たとえば、一連のページの基本スタイルシートを収集するか、特定の基本スタイルシートを使用するようにすべてのページを調整します。従来の asp コマンドの保持、#include の後に続く、asp.net 埋め込みスクリプトの保持など。より具体的で数が多いほど良い。

例:
タグが埋め込まれた古い html

<html><head>
<title>title</title>
<style type='css/text'>
.cls1 { font-family: arial; font-size: 10px; font-weight: bold; }
</style>
</head>
<body>
<% somefunction() %>
<div class='cls1' style='font-size:10px;'>test div</div>
</body>
</html>

新しいhtml

<html><head>
<title>title</title>
<style type='css/text'>
.cls1 { font-family: arial; font-size: 10px; font-weight: bold; }
</style>
</head>
<body>
<% somefunction() %>
<div class='cls1'>test div</div>
</body>
</html>

クラス cls1 と重複していたため、div のスタイルがなくなっていることに注意してください。

編集:「サニタイザー」という用語を削除しました。これは、XSS 攻撃やコメントの入力のフィルタリングに重点を置いているのではなく、多くのアドホック スタイルとランダムな CSS クラスを最小限の一貫したスタイルシート セットに統合することにのみ重点を置いているためです。

4

4 に答える 4

3

まあ、これが説明されているすべてのことに対して「うまくいく」と断言することはできませんが、Tidy はタグをクリーンアップするだけではありません。

HTML Tidy Configuration Options、特に Microsoft Word に関連するオプション ( word-2000など)を参照してください。

于 2008-11-18T20:42:42.590 に答える
2

妥当な仕事をしたかどうかを知りたい場合は、これらのテストを試してみてください(Tidyのようなものを使用すると、おそらく妥当な仕事をしていないことがわかります)。

いくつかのオプション:

正規表現を使用し、マークアップを解析しないものはすべて、私の頭の中で疑わしいでしょう(そして実装するには複雑すぎます)。

于 2008-11-21T00:50:31.247 に答える
1

古い質問ですが、これが役立つと感じる人もいます。http://necolas.github.com/normalize.css/をチェックしてください。それはうまくいきます!

于 2011-06-08T18:27:09.490 に答える
0

美味しいスープもお忘れなく

間違ってネストされた/閉じられていない HTML タグを修正するにはどうすればよいですか?

于 2008-11-21T01:24:02.567 に答える