我正在编写一个留言簿,做到回复功能的时候想到了一个问题!如下:
如果在回复栏里输入一下内容:<strong>apple pie</strong>然后提交到数据库
回复显示结果得到apple pie字体为粗体(输入原意是"<strong>apple pie</strong>"整个字符串)
请问如何解决?

解决方案 »

  1.   

    把html标签的过滤
    把你的回复内容先用 HtmlEncode处理后在添加到数据库public static string HtmlEncode(string encodeString)
    {
    encodeString = encodeString.Replace("<", "&lt;");
    encodeString = encodeString.Replace(">", "&gt;");
    encodeString = encodeString.Replace(" ", "&nbsp;");
    encodeString = encodeString.Replace("’", "'");
    encodeString = encodeString.Replace(((char)13).ToString(),"<br>");
    return encodeString;
    } public static string HtmlDecode(string encodeString)
    {
    encodeString = encodeString.Replace("&lt;", "<");
                encodeString = encodeString.Replace("&gt;", ">");
                encodeString = encodeString.Replace("&nbsp;", " ");
                encodeString = encodeString.Replace("'", "’");
                encodeString = encodeString.Replace("<br>", ((char)13).ToString());
    return encodeString;
    }
      

  2.   

    如果在回复栏里输入一下内容:<strong>apple pie</strong>然后提交到数据库
    回复显示结果得到apple pie字体为粗体(输入原意是"<strong>apple pie</strong>"整个字符串)
    ================
    你不必做什么。直接添加进去,显示的时候直接显示出来,他就能正常当成HTML标签处理了,
      

  3.   

    如果在回复栏里输入一下内容:<strong>apple pie</strong>然后提交到数据库
    回复显示结果得到apple pie字体为粗体(输入原意是"<strong>apple pie</strong>"整个字符串)
    ================
    你不必做什么。直接添加进去,显示的时候直接显示出来,他就能正常当成HTML标签处理了,
    ================
    我的意思是把<strong>标签不当Html标签处理,要当成字符串处理!
     LaoDai_Net 的提议不错,想知道还有更简单的吗?
      

  4.   

    把<strong>标签不当Html标签处理???
    你的意思是输入"<strong>apple pie</strong>"也显示"<strong>apple pie</strong>"吗????
    那你就直接把输入字符串html编码存入数据库,而显示的时候不解码.
    注意,编码不用自己定义函数,server.htmlcode(yourstring)即可。如果想当HTML表现处理:
    输入"<strong>apple pie</strong>"显示粗体的apple pie
    那就什么都不用管,直接存入数据库,直接取出来显示。
    但这并不是安全的做法。没有过滤<>等,会有安全隐患哦