请问将HTML代码转换为UBB代码的c#正则表达式要怎么写啊,我只有将UBB转换为HTML的C#正则表达式,相反的我就不知道了,网上搜的都是JS的,但是我的数据处理都是要在后台进行处理,望高手帮忙解答一下~~以下是我UBB转换为HTML的代码:public string ubbtohtml(string content)  //ubb转html
    {
        content = Regex.Replace(content, @"\r\n", "<br/>");
        content = Regex.Replace(content, " ", "&nbsp;");
        content = Regex.Replace(content, @"\[b\](.+?)\[/b\]", "<b>$1</b>");
        content = Regex.Replace(content, @"\[i\](.+?)\[/i\]", "<i>$1</i>");
        content = Regex.Replace(content, @"\[u\](.+?)\[/u\]", "<u>$1</u>");
        content = Regex.Replace(content, @"\[p\](.+?)\[/p\]", "<p class='load'>$1</p>");
        content = Regex.Replace(content, @"\[align=left\](.+?)\[/align\]", "<align='left'>$1</align>");
        content = Regex.Replace(content, @"\[align=center\](.+?)\[/align\]", "<align='center'>$1</align>");
        content = Regex.Replace(content, @"\[align=right\](.+?)\[/align\]", "<align='right'>$1</align>");
        content = Regex.Replace(content, @"\\", "<a href='${url}' target=_blank>${url}</a>");
        content = Regex.Replace(content, @"\(?<name>.+?)\", "<a href='${url}' target=_blank>${name}</a>");
        content = Regex.Replace(content, @"\", "<div class=quote>${text}</div>");
        content = Regex.Replace(content, @"\", "<img src='${img}' alt=''/>");
        content = content.Replace("[face1]", "<img src='../Images/emotion/1.png' style='width:14px; height:14px;' alt='' />");
        content = content.Replace("[face2]", "<img src='../Images/emotion/2.png' style='width:14px; height:14px;' alt='' />");
        content = content.Replace("[face3]", "<img src='../Images/emotion/3.png' style='width:14px; height:14px;' alt='' />");
        content = content.Replace("[face4]", "<img src='../Images/emotion/4.png' style='width:14px; height:14px;' alt='' />");
        content = content.Replace("[face5]", "<img src='../Images/emotion/5.png' style='width:14px; height:14px;' alt='' />");
        content = content.Replace("[face6]", "<img src='../Images/emotion/6.png' style='width:14px; height:14px;' alt='' />");
        content = content.Replace("[face7]", "<img src='../Images/emotion/7.png' style='width:14px; height:14px;' alt='' />");
        content = content.Replace("[face8]", "<img src='../Images/emotion/8.png' style='width:14px; height:14px;' alt='' />");
        content = content.Replace("[face9]", "<img src='../Images/emotion/9.png' style='width:14px; height:14px;' alt='' />");        return content;
    }

解决方案 »

  1.   

     
    html千奇百怪的写法很难干净的转化为ubb的.我随便用个html,用了网上的工具进行转化,没有一个能转化的.
      

  2.   

    我只想转换<b>,<i>,<u>,<img>(包含宽,高,alt的),<img>(不包含宽,高,alt的),<p>,<a>,<align>这几个
      

  3.   


    这样会出现html代码和ubb混合了.
      

  4.   

    有办法了,转从html转化为ubb
    跟ubb专html反过来就可以,比如
    content = Regex.Replace(content, @"\[b\](.+?)\[/b\]", "<b>$1</b>");

    content = Regex.Replace(content, "<b>(.+?)</b>",@"\[b\]$1\[/b\]",);然后再用去除html的代码刮掉多余的html我写过一个去除html的代码,叫NoHtml你搜索一下得了,网上到处流传了.
      

  5.   

    to winner:
    可以这样反过来用的吗?
    我不是要获取HTML标签中的内容,就只要把UBB换成HTML就可以了
      

  6.   

    to chenguang79
      我试过了,反过来写没有用的