C#对HTML转译需要注意的问题
2013-07-16 15:34 AceYue 阅读(1688) 评论(1) 编辑 收藏 举报在做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;”这样连续的字符的时候就会重新转换成为了空格。
不积跬步,无以至千里;不积小流,无以成江海。只是在于积累,希望这点发现也可以帮到你!
本文出处:http://www.cnblogs.com/aces/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
请关注我的个人博客:www.afire.com.cn