在ASP.NET MVC 3上,我創建了一個用於從整個html中刪除空白空間的Action Filter。它的工作原理與我預期的大部分時間一樣,但現在我需要更改RegEx以便不觸及pre
元素。從整個Html中刪除空白空間,但內部預先使用正則表達式
我從真棒Mads Kristensen的博客中獲得RegEx邏輯,我不確定如何爲此目的對其進行修改。
這裏是邏輯:所述過濾器的
public override void Write(byte[] buffer, int offset, int count) {
string HTML = Encoding.UTF8.GetString(buffer, offset, count);
Regex reg = new Regex(@"(?<=[^])\t{2,}|(?<=[>])\s{2,}(?=[<])|(?<=[>])\s{2,11}(?=[<])|(?=[\n])\s{2,}");
HTML = reg.Replace(HTML, string.Empty);
buffer = System.Text.Encoding.UTF8.GetBytes(HTML);
this.Base.Write(buffer, 0, buffer.Length);
}
所有代碼:
任何想法?
編輯:
BIG注:
我的意圖是完全不加快響應時間。事實上, 也許會減慢速度。我Gziped頁面,這種縮小使我 增益大約每頁4-5 kb,這是什麼。
http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – asawyer 2012-01-06 19:07:37
4〜5 kb每頁是不是什麼! – fge 2012-01-06 19:51:35
這個正則表達式非常糟糕,無論誰寫它都不知道他們在做什麼。 – Qtax 2012-01-06 20:33:46