C#對HTML轉譯須要注意的問題

     在作B/S程序時咱們多少會用到一點HTML特殊符號轉譯。 如:「&」——>「&amp;」 , "<"——>"&lt;" , ">"——>"&gt;" , " "——>"&nbsp;" ...編碼

     符號轉譯成爲編碼:spa

 

        /// <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("<", "&lt;");
            sTemp = sTemp.Replace("&", "&amp;");
            sTemp = sTemp.Replace(">", "&gt;");
            sTemp = sTemp.Replace("'", "&#39;");
            sTemp = sTemp.Replace(" ", "&nbsp;");
            sTemp = sTemp.Replace("\"", "&quot;");
            sTemp = sTemp.Replace("\n", "<br />");
            return sTemp;
        }

     當咱們須要再轉換成HTML代碼的時候會用到:code

 /// <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("&lt;", "<");
            sTemp = sTemp.Replace("&gt;", ">");
            sTemp = sTemp.Replace("&#39;", "'");
            sTemp = sTemp.Replace("&nbsp;", " ");
            sTemp = sTemp.Replace("&quot;", "\"");
         sTemp = sTemp.Replace("&amp;", "&");
            sTemp = sTemp.Replace("<br />", "\n");
            return sTemp;
        }

      可是咱們每每會忽略最重要的一點, 就是當咱們把轉譯符轉換成HTML的時候須要注意一下轉碼的順序,咱們必須在 「<」, ">", " " , "'" ,"\" 這幾個符號轉譯以後最後在轉換 「&」符, 否則,轉譯事後的&後面若是跟有 「nbsp;」這樣連續的字符的時候就會從新轉換成爲了空格。blog

     

     不積跬步,無以致千里;不積小流,無以成江海。只是在於積累,但願這點發現也能夠幫到你!string

相關文章
相關標籤/搜索