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

相关文章
相关标签/搜索