前面關於顯示html文字用了瀏覽器控制項來處理(這個不過是為了解決燃眉之急不得已才使用。其實最好還是使用正規表示式處理,也就是自己寫乙個html文字直譯器,當然這個實現起來也是不容易的,首先你得將所有html文字標籤羅列出來,然後一一翻譯。下面先搞乙個簡單的例子吧。
public static string converttobrowsertext(string source) );", string.empty, regexoptions.ignorecase); result = regex.replace(result, @" ( )+", " "); result = regex.replace(result, "(/r)( )+(/r)", "/r/r"); result = regex.replace(result, @"(/r/r)+", "/r/n"); result = regex.replace(result, @"/r/n", system.environment.newline); result = regex.replace(result, @"/r", system.environment.newline); result = regex.replace(result, @"/r/r", system.environment.newline); result = regex.replace(result, @"/s", ""); return result; }
結果:
richtextbox中是正規表示式處理效果,webbrowser是原文本顯示效果。
源**:
正規表示式相關 正規表示式字元描述
1 字元描述 將下乙個字元標記為特殊字元或字面值。例如 n 與字元 n 匹 配。n 與換行符匹配。序列 與 匹配,與 匹配。匹配輸入的開始位置。匹配輸入的結尾。匹配前乙個字元零次或幾次。例如,zo 可以匹配 z zoo 匹配前乙個字元一次或多次。例如,zo 可以匹配 zoo 但不匹配 z 匹配前乙個...
正規表示式相關 正規表示式字元描述
1 字元描述 將下乙個字元標記為特殊字元或字面值。例如 n 與字元 n 匹 配。n 與換行符匹配。序列 與 匹配,與 匹配。匹配輸入的開始位置。匹配輸入的結尾。匹配前乙個字元零次或幾次。例如,zo 可以匹配 z zoo 匹配前乙個字元一次或多次。例如,zo 可以匹配 zoo 但不匹配 z 匹配前乙個...
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...