zoukankan      html  css  js  c++  java
  • C#对HTML转译需要注意的问题

         在做B/S程序时我们多少会用到一点HTML特殊符号转译。 如:“&”——>“&amp;” , "<"——>"&lt;" , ">"——>"&gt;" , " "——>"&nbsp;" ...

         符号转译成为编码:

            /// <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("
    ", "<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("&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 />", "
    ");
                return sTemp;
            }

          但是我们往往会忽略最重要的一点, 就是当我们把转译符转换成HTML的时候需要注意一下转码的顺序,我们必须在 “<”, ">", " " , "'" ,"" 这几个符号转译之后最后在转换 “&”符, 不然,转译过后的&后面如果跟有 “nbsp;”这样连续的字符的时候就会重新转换成为了空格。

         

         不积跬步,无以至千里;不积小流,无以成江海。只是在于积累,希望这点发现也可以帮到你!

  • 相关阅读:
    HDOJ 3265 Posters (线段树+扫描线求矩形面积并)
    HDOJ 2243 考研路茫茫——单词情结(自动机DP+矩阵快速幂和)
    POJ 1389 Area of Simple Polygons (离散化求矩形面积并)
    POJ 3691 DNA repair(自动机DP)
    POJ 1151 Atlantis (离散化求矩形面积并)
    备份—何为备份?
    健康,人生第一要事
    x200 降噪手记
    好书推荐《系统管理员的时间管理》
    计算机加入域全过程截图
  • 原文地址:https://www.cnblogs.com/aces/p/3193469.html
Copyright © 2011-2022 走看看