日期:2014-05-18  浏览次数:20422 次

在TestBox中输入<br>出现问题
在TestBox中输入<br>出现问题
我想将<br>放入数据库中 ,然后再读出来
请问应该如何处理
谢谢

------解决方案--------------------
Server.HtmlEncode(TestBox);//取出存到数据库

再Server.HtmlDecode(sss);
------解决方案--------------------
常用的都有了
public string HtmlEncode(string str)
{
str = str.Replace(">", "&gt;");
str = str.Replace("<", "&lt;");
char ch;
ch = (char)32;
str = str.Replace(ch.ToString(), "&nbsp;");
ch = (char)34;
str = str.Replace(ch.ToString(), "&quot;");
ch = (char)39;
str = str.Replace(ch.ToString(), "'");
ch = (char)13;
str = str.Replace(ch.ToString(), "");
ch = (char)10;
str = str.Replace(ch.ToString(), "<br/>");
return str;
}

------解决方案--------------------
在前台用JS进行编码...
以下代码自己从网上摘抄之后...修改了一下...仅供参考...
JScript code

function EncodeHtml(pStr){
var s = pStr;
if(pStr.length == 0)
{
    return s;
}
//替换时,一定得先替换 "&" 字符,否则,会把 "<" 等编码中的 "&" 也进行替换,从而产生错误的结果
//利用正则表达式全局标识设置的 "&",把该字符串中所有的 "&" 替换成 "&amp;"
var r = /&/g;
s = s.replace(r,"&amp");
//
r = /<BR>/g;
s = s.replace(r,"<br>");
//把回车符替换成&ltBR&gt
r = /\r/g;
s = s.replace(r,"<BR>");
//把'替换成’(全角单引号)
r = /'/g;
s = s.replace(r,"’");
//把"替换成&quot
r = /"/g;
s = s.replace(r,"&quot");
//把<替换成&lt
r = /</g;
s = s.replace(r,"&lt");
//把>替换成&gt
r = />/g;
s = s.replace(r,"&gt");
//alert(s);
return s;
}