C#实现HTML和UBB互相转换的方法

 更新时间:2014年11月14日 11:47:07   投稿:shichen2014  
这篇文章主要介绍了C#实现HTML和UBB互相转换的方法,通过两个自定义函数DoHtmlToUB与ubbtohtml来实现HTML代码与ubb代码间的相互转换,是非常实用的技巧,需要的朋友可以参考下

本文实例讲述了C#实现HTML和UBB互相转换的方法。分享给大家供大家参考。具体实现方法如下:

html转UBB的还不是很完美,有空修改,一些代码来自百度谷歌,如下所示:

复制代码 代码如下:
private string DoHtmlToUBB(string _Html)
{

    _Html = Regex.Replace(_Html, "<br[^>]*>", "\n");
    _Html = Regex.Replace(_Html, @"<p[^>\/]*\/>", "\n");
    _Html = Regex.Replace(_Html, "\\son[\\w]{3,16}\\s?=\\s*([\'\"]).+?\\1", "");
    _Html = Regex.Replace(_Html, "<hr[^>]*>", "[hr]");

    _Html = Regex.Replace(_Html, "<(\\/)?blockquote([^>]*)>", "[$1blockquote]");
    _Html = Regex.Replace(_Html, "<img[^>]*smile=\"(\\d+)\"[^>]*>", "'[s:$1]");
    _Html = Regex.Replace(_Html, "<img[^>]*src=[\'\"\\s]*([^\\s\'\"]+)[^>]*>", "");
    _Html = Regex.Replace(_Html, "<a[^>]*href=[\'\"\\s]*([^\\s\'\"]*)[^>]*>(.+?)<\\/a>", "[url=$1]$2[/url]");
    _Html = Regex.Replace(_Html, "<b>(.+?)</b>",@"\[b\]$1\[/b\]");
    _Html = Regex.Replace(_Html, "<[^>]*?>", "");
    _Html = Regex.Replace(_Html, "&amp;", "&");
    _Html = Regex.Replace(_Html, "&nbsp;", " ");
    _Html = Regex.Replace(_Html, "&lt;", "<");
    _Html = Regex.Replace(_Html, "&gt;", ">");

    return _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, @"\[url=(?<url>.+?)]\[/url]", "<a href='${url}' target=_blank>${url}</a>");
    content = Regex.Replace(content, @"\[url=(?<url>.+?)](?<name>.+?)\[/url]", "<a href='${url}' target=_blank>${name}</a>");
    content = Regex.Replace(content, @"\[quote](?<text>.+?)\[/quote]", "<div class="quote">${text}</div>");
    content = Regex.Replace(content, @"\[img](?<img>.+?)\[/img]", "<img src='${img}' alt=''/>");
    return content;
}

希望本文所述对大家的C#程序设计有所帮助。

相关文章

  • C#使用CefSharp控件实现爬虫

    C#使用CefSharp控件实现爬虫

    这篇文章介绍了C#使用CefSharp控件实现爬虫的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 深入解析C#中的abstract抽象类

    深入解析C#中的abstract抽象类

    这篇文章主要介绍了深入解析C#中的abstract抽象类,包括定义抽象类等C#面相对象编程中的基础知识,需要的朋友可以参考下
    2016-01-01
  • c#实现数据同步的方法(使用文件监控对象filesystemwatcher)

    c#实现数据同步的方法(使用文件监控对象filesystemwatcher)

    这篇文章主要介绍了C#使用文件监控对象FileSystemWatcher实现数据同步,大家参考使用吧
    2013-12-12
  • C#常用字符串加密解密方法封装代码

    C#常用字符串加密解密方法封装代码

    这篇文章主要介绍了C#常用字符串加密解密方法封装代码,有需要的朋友可以参考一下
    2013-12-12
  • Winform 控件优化LayeredWindow无锯齿圆角窗体

    Winform 控件优化LayeredWindow无锯齿圆角窗体

    这篇文章主要为大家介绍了Winform 控件优化LayeredWindow实现无锯齿圆角窗体示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • C#与C++动态链接库DLL参数互传方式

    C#与C++动态链接库DLL参数互传方式

    这篇文章主要介绍了C#与C++动态链接库DLL参数互传方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • 基于C#实现获取本地磁盘目录

    基于C#实现获取本地磁盘目录

    这篇文章主要为大家详细介绍了如何利用C#实现获取本地磁盘目录的功能,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
    2022-12-12
  • Unity实现OCR文字识别功能

    Unity实现OCR文字识别功能

    这篇文章主要介绍了通过Unity接入百度AI接口,实现OCR文字识别功能,文中的实现步骤讲解详细,对我们学习或工作有一定的参考价值,需要的可以了解一下
    2022-01-01
  • C#简单的特殊输出实例

    C#简单的特殊输出实例

    这篇文章主要介绍了C#简单的特殊输出,以实例实现了针对一些特殊字符与位置的输出控制,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • WinForm中快捷键与组合按键的设置方法

    WinForm中快捷键与组合按键的设置方法

    WinForm中快捷键与组合按键的设置,第一种方法。。代码复杂,操作简单的快捷键,另外一种简单快捷键的方法,大家可以参考下
    2013-02-02

最新评论