標籤:style blog http color strong os
原文:C#對HTML轉譯需要注意的問題
在做B/S程式時我們多少會用到一點HTML特殊符號轉譯。 如:“&”——>“&” , "<"——>"<" , ">"——>">" , " "——>" " ...
符號轉譯成為編碼:
/// <summary> /// HTMLs the en code. /// </summary> /// <param name="sHTML">The HTML.</param> /// <returns></returns> public static string HTMLEnCode(string sHTML) { string sTemp = ""; if (sHTML.Length == 0) { return ""; } sTemp = sHTML.Replace("<", "<"); sTemp = sTemp.Replace("&", "&"); sTemp = sTemp.Replace(">", ">"); sTemp = sTemp.Replace("‘", "'"); sTemp = sTemp.Replace(" ", " "); sTemp = sTemp.Replace("\"", """); sTemp = sTemp.Replace("\n", "<br />"); return sTemp; }
當我們需要再轉換成HTML代碼的時候會用到:
/// <summary> /// HTMLs the de code. /// </summary> /// <param name="sHTML">The HTML.</param> /// <returns></returns> public static string HTMLDeCode(string sHTML) { string sTemp = ""; if (sHTML.Length == 0) { return ""; } sTemp = sHTML.Replace("<", "<"); sTemp = sTemp.Replace(">", ">"); sTemp = sTemp.Replace("'", "‘"); sTemp = sTemp.Replace(" ", " "); sTemp = sTemp.Replace(""", "\""); sTemp = sTemp.Replace("&", "&"); sTemp = sTemp.Replace("<br />", "\n"); return sTemp; }
但是我們往往會忽略最重要的一點, 就是當我們把轉譯符轉換成HTML的時候需要注意一下轉碼的順序,我們必須在 “<”, ">", " " , "‘" ,"\" 這幾個符號轉譯之後最後在轉換 “&”符, 不然,轉譯過後的&後面如果跟有 “nbsp;”這樣連續的字元的時候就會重新轉換成為了空格。
不積跬步,無以至千裡;不積小流,無以成江海。只是在於積累,希望這點發現也可以幫到你!