我要进行下面的操作this.txtcontent.Text.Replace(" ","&nbsp").Replace("\n","<br/>").Replace("'","''");但是当其中有标签是,就会变成下面这样从而使图片无法显示,请问怎么解决<img&nbspwidth=500&nbspheight=400&nbsp&nbspsrc=upfile/picture/200710281839293.pjpeg&nbspborder=0>

解决方案 »

  1.   

    不好意思
    我是说假如要进行转换的文本内容中加有图片如:
    string = "爱爱爱   啊啊<img src=tt.jpg width=0>啊艾弗森大幅度";
    然后进行如下操作
    str.Replace(" ","&nbsp").Replace("\n"," <br/ >").Replace(" '"," ' '"); 
    得到的结果为
    爱爱爱&nbsp&nbsp&nbsp啊啊<img src=tt.jpg width=0>啊艾弗森大幅度
    而不是
    爱爱爱&nbsp&nbsp&nbsp啊啊<img&nbspsrc=tt.jpg&nbspwidth=0>啊艾弗森大幅度
      

  2.   

    这样试下,如果有不符合的地方,给个例子,明天看下string test = "爱爱爱   啊啊<img src=tt.jpg width=0>啊艾弗森大幅度";
    string result = Regex.Replace(test, @"^[^<]*|>[^<]*|^[^<>]*$", myEvaluator);
    MessageBox.Show(result);private string myEvaluator(Match m)
    {
        return m.Value.Replace(" ", "&nbsp;");
    }空格按上面的正则委托方法替换,其它两个正常替换即可
    另外空格应该是替换为“&nbsp;”吧
      

  3.   

    现给出个反例...
    <script language="javascript">
    var test = "aaaa >>>  bbbb <img src=tt.jpg width=0> ccc >>> ddd <<< eee";
    var rx1 = /(<[^<>]+>)/g
    var result = test.replace(rx1, "[剔除HTML部份]");
    alert(result);</script>
      

  4.   

    我的方法是将连续两个空格替换,因为一个空格浏览器会正确解释出来的
    .replace("  "," &nbsp;");
    当然如果你在img标签里面业写上两个连续空格那也不行,不过这样的情况好像比较少,就凑合着用了