private string HtmlToUBB(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(stringcontent)  //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\]", "<pclass='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]","<divclass=quote>${text}</div>");
           content = Regex.Replace(content,@"\[img](?<img>.+?)\[/img]","<img src='${img}' alt=''/>");
           return content;
        }

C#HTML与UBB(纯文本)之间的转换的更多相关文章

  1. [Markdown]纯文本标记语言MarkdowPad2--MD语法知识

    ##1.标题 代码 注:# 后面保持空格 # h1 ## h2 ### h3 #### h4 ##### h5 ###### h6 ####### h7 // 错误代码 ######## h8 // ...

  2. SPOOL 命令使用实例【oracle导出纯文本格式文件】

    SPOOL 命令使用实例[oracle导出纯文本格式文件] SET echo off              --在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句: SET ...

  3. LODOP纸张高度不定的纯文本累计高度

    小票由于纸张没有确定的高度,根据内容多少,小票打印机出多少纸,在设置纸张的时候,需要把纸张设置成不定高的纸张.简短问答:小票打印 ,参考样例18 http://www.c-lodop.com/demo ...

  4. 用<![CDATA[]]>将xml转义为 纯文本

    被<![CDATA[]]>这个标记所包含的内容将表示为纯文本,比如<![CDATA[<]]>表示文本内容"<". 此标记用于xml文档中,我们先 ...

  5. php获取html纯文本,解决编辑器手动键入空格造成的无意义空白字符(空值问题)

    在项目中,我们常常需要用到一些验证,不管是前台还是后台的,上传的问题时,需要内容不为空,但可视化编辑器的介入让手动敲入空格跳出了常规的检测.空格是一种排版的手段,但毫无内容只有空格就显得没有意义了,今 ...

  6. EditText添加了ImageSpan后,在两者中间不能输入纯文本

    严格来说是连续插入两个ImageSpan之后,在其中间不能够输入纯文本内容. 最后发现问题出现在了SpannableString在设置ImageSpan的时候第四个参数flag的问题. spannab ...

  7. 讨论SEO中是锚文本有效,还是纯文本有效呢?

    现在很多SEO好友不断在讨论,在SEO优化中,到底是锚文本有效,还是纯文本有效呢? 在这里给大家举一下列子:如“张家口人才网”这样的就叫做锚文本,意思是在原有的文本中加上超级链接,指向到优化的网页上面 ...

  8. Atitit.jsou html转换纯文本 java c# php

    Atitit.jsou html转换纯文本 java c# php 1. 原理<p> <h> <li><div> 等lable转换为回车1 2. 调用2 ...

  9. 【实践】获取CKEditor的html文本、纯文本、被选中的内容及赋值

      <%=Html.TextAreaFor(Model => Model.WORK_INTRODUCTION)%> <script type="text/javasc ...

  10. 转换 Html 内容为纯文本内容(html,文本互转)

    转自http://www.cnblogs.com/jyshi/archive/2011/08/09/2132762.html : /// <summary> /// 转换纯文本内容为 HT ...

随机推荐

  1. Windows7 64位安装最新版本号MySQLserver

    Windows7 64位安装最新版本号MySQLserver 最近,一直在研究MySQL数据库.常常改动配置文件.导致MySQL数据库无法使用.不得不重复重装MySQL数据库.下面是在Windows7 ...

  2. 【转】Cocos2d-x 3.1.1 学习日志6--30分钟了解C++11新特性

    [转]Cocos2d-x 3.1.1 学习日志6--30分钟了解C++11新特性 Cocos2d-x 3.1.1 学习日志6--30分钟了解C++11新特性

  3. Windows/OS X下制作Mac安装U盘

    Windows下制作: 方法一:(适用于OSX 10.9以前) 前期准备:一台windows电脑 UltraISO软件 Mac系统镜像dmg(这里使用Mac os x 10.8.4) 至少8GB的U盘 ...

  4. [转载] 关于mkvtoolnix批量处理的

    需要的工具:mkvtoolnix.记事本 案例介绍:用文件A的视频+文件B的音频+字幕合成新MKV,在文件列表中,按A.B.C顺序排列.其中A与B都是Mkv格式,所以A与B不能放在同一个文件夹中(就算 ...

  5. ssd算法论文理解

    这篇博客主要是讲下我在阅读ssd论文时对论文的理解,并且自行使用pytorch实现了下论文的内容,并测试可以用. 开篇放下论文地址https://arxiv.org/abs/1512.02325,可以 ...

  6. 【Java】之static静态方法与非static静态方法区别

    1.A.class:没有static public class A { public String getText(){ } B.class调用A的方法时 public class B { publi ...

  7. 快速排序的c++实现 和 python 实现

    最近在学python,其中有个要求实现快速排序的练习,就顺便复习了c++的快速排序实现. 快速排序的基本思想是,通过一轮的排序将序列分割成独立的两部分,其中一部分序列的关键字(这里主要用值来表示)均比 ...

  8. Log4J是Apache组织的开源一个开源项目,通过Log4J,可以指定日志信息输出的目的地,如console、file等。Log4J采用日志级别机制,请按照输出级别由低到高的顺序写出日志输出级别。

    Log4J是Apache组织的开源一个开源项目,通过Log4J,可以指定日志信息输出的目的地,如console.file等.Log4J采用日志级别机制,请按照输出级别由低到高的顺序写出日志输出级别. ...

  9. (转)reactor模式

    转自: http://www.blogjava.net/DLevin/archive/2015/09/02/427045.html Reactor模式详解 前记 第一次听到Reactor模式是三年前的 ...

  10. 关于CoInitialize和CoUninitialize调用的有关问题

    本人封装了一个类,里面需要用到ADO连接数据库, 所以需要初始化COM环境以及释放COM环境, 我打算在构造函数里面执行CoInitialize,在析构函数里面执行CoUninitialize 但是程 ...