C#对HTML转译需要注意的问题
2024-08-27 01:17:17
在做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 == )
{
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 == )
{
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;”这样连续的字符的时候就会重新转换成为了空格。
不积跬步,无以至千里;不积小流,无以成江海。只是在于积累,希望这点发现也可以帮到你!
最新文章
- 【bzoj1085】 SCOI2005—骑士精神
- Windows 8.1 新增控件之 Hyperlink
- 如何写出安全的API接口
- VBA相关
- Delphi XE5 for android 图片缩放和拖动处理
- 判断一个字符串在至多删除k个字符后是否为回文串
- PCb过孔大小设置 / 丝印层字符尺寸设置
- 那天有个小孩跟我说LINQ(四)转载
- BZOJ 1651: [Usaco2006 Feb]Stall Reservations 专用牛棚( 线段树 )
- Linux - 简明Shell编程06 - 循环语句(Loop)
- 静态代理与JDK动态代理
- rest framework 认证 权限 频率
- Linux-Centon7常用命令
- CMake系列之二:入门案例-单个源文件
- SqlServer中常常搞不清楚 sp_columns来看一看
- JS中的防抖与节流
- Egret(白鹭引擎)——Egret+fairyGui 实战项目入门
- dns server 配置
- JavaScript本地存储实践(html5的localStorage和ie的userData)
- MySql 关键字冲突解决办法