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. Vivado的helloword程序:硬件工程部分

    硬件平台:ZedBoard软件平台:vivado2013.3 本示例通过综合.实现,生成比特流,发送到SDK实现.启动vivado并且创建一个项目根据提示操作一步步创建新项目的时候记得选择RTL Pr ...

  2. 筛选git最后一次文件列表

    需要写一个小程序,列出出最后一次git提交的文件列表 命令如下: git log -1 --name-only 操作后,发现并不能完整的显示文件列表,查询google后,发现是git默认配置只显示90 ...

  3. iOS9新特性

    本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看瞄神的开发者所需要知道的 iOS 9 SDK 新特性.9月17日凌晨,苹果给用户推送了iOS9正式版,随着有用户陆续升级 ...

  4. html-文本处理

    文本处理-相关操作: <!-- 申明为html5版本 --> <!DOCTYPE html> <html> <head> <title>文本 ...

  5. javascript断点设置和调试

    JS调试必备的5个debug技巧http://www.jb51.net/article/47812.htm Chrome 中的 JavaScript 断点设置和调试技巧http://www.xuebu ...

  6. SysTick—系统定时器

    本章参考资料<ARM Cortex™-M4F 技术参考手册> -4.5 章节 SysTick Timer(STK), 和4.48 章节 SHPRx,其中 STK 这个章节有 SysTick ...

  7. iOS swift 关于自定义表情键盘

    目录 输入框 键盘监听 键盘切换 表情装载 表情加载 表情输入 表情输出 表情显示 结束语 demo下载 demo图片: 输入框 为了让输入框能够随着用户输入内容变化自动变化高度,这里的输入框使用UI ...

  8. 1. Retrofit2 -- Getting Started and Create an Android Client

    1. Retrofit2 -- Getting Started and Create an Android Client Retrofit tutorial 什么是 Retrofit 如何申明请求 准 ...

  9. go 语言学习笔计之结构体

    go 语言中的结构体方法 结构体名称的大小写有着不同的意义: 小写表示不能被别的包访问 package main import "fmt" type Rect struct { w ...

  10. python -&gt; lambda与def的差别

    lambda能够定义一个匿名函数.而def定义的函数必须有一个名字. 这应该是lambda与def两者最大的差别. 与Javascript不同的是,python中匿名函数与非匿名函数须要使用不同的语法 ...