0

.Net Web サイトからすべての空白を削除する最良の方法は何ですか? このサイトを見つけましたホワイトスペース除去 - 4Wall Art Site

ソースを見ると明らかに .net サイトですが、不要なタブやスペースはすべて削除されています。今、私は周りを検索しましたが、ページレンダリングの正規表現が最良の方法のようですが、誰か例がありますか? または、これが最善の方法であるかどうかについて意見が対立していますか? そのサイトの html ソースは 30kb まで減っていますが、これは私が目指しているものです!

ありがとう、スティーブ

4

4 に答える 4

1

HTML で正規表現を使用しようとすることはほとんどありません (理由については、正規表現を使用して XML と HTML を解析するのが難しい理由の例をいくつか提供できますか? を参照してください)。これは実際にはパーサーの仕事です ( C# の HTML パーサーについては、C# で html を解析する最良の方法を参照してください)。やりたいことの擬似コードは

print tag and attributes with minimal spaces
if tag is in list of tags whose contents can be to modified
    strip redundant whitspace from contents
print contents
print end tag

内容を変更してはならないタグ​​の例として、pre タグがあります。

于 2009-04-20T14:09:50.003 に答える
0

空白を削除する必要があると本当に感じた場合は、http://www.codeproject.com/KB/aspnet/WhitespaceFilter.aspxを参照してください。これは、開始する場所にすぎないことを強調します。著者は明らかに、非常に非効率的な方法で頻繁に使用する正規表現を十分に把握していなかったため、記事のコードをコピーするだけです。

すべてのページの出力を変更するためにフィルターを使用する手法をどのように示していますか。

于 2009-04-21T08:34:15.650 に答える
0

まあ、あなたが本当にしたいのであれば、bash 'sed' を使うことができ、perl regex は同じことを達成します:

バッシュ:

cat yourhtmlfile.html | sed 's_\ +_\ _g' > newReducedFile.html

それはあなたが望むものを達成するはずです。1 つ以上のスペースを 1 つのスペースにします。これにより、不要な空白のほとんどがファイルから削除されます。.net Web サイトの場合、perl または python を使用できます。ウィンドウズ版もあります。

于 2009-04-21T01:50:14.890 に答える