ubb代码转换为html

2016-02-19 13:51 7 1 收藏

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享ubb代码转换为html的教程,热爱PS的朋友们快点看过来吧!

【 tulaoshi.com - Web开发 】

记得以前贴过一个ubb代码转换为html格式的代码,前几天读ubb的源代码。所以有了这个新的版本。注意,这个版本可能还不能正常使用,详细见注。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

这段代码将用户输入的ubb代码转化为html格式,注意,需要Script Engine 5.0的支持(使
用了RegExp对象)

注:pattern中使用()将知道regexp记忆搜索到的值,$1是第一个(),其余类推。但$2的
语法并不被5.0版本的vbscript.dll所支持,我检查了自己机器上的版本(安装过ie 5.5),
发现vbscript.dll的版本为5.50.4629,最后修改日期为12月25日。该版本支持$1之类的语
法,这个简单的改进使regexp的功能逐渐与perl的正则表达式靠近

function UBBCode(strContent)

dim objRegExp
Set objRegExp=new RegExp
objRegExp.IgnoreCase =true
objRegExp.Global=True
'url
objRegExp.Pattern="([URL])(http://S+?)([/URL])"
strContent= objRegExp.Replace(strContent,"A HREF=""$2"" TARGET=_blank$2/A")
objRegExp.Pattern="([URL])(S+?)([/URL])"
strContent= objRegExp.Replace(strContent,"A HREF=""http://$2"" TARGET=_blank$2/A")

'email
objRegExp.Pattern="()(S+@S+?)([/EMAIL])"
strContent= objRegExp.Replace(strContent,"A HREF=""mailto:$2""$2/A")

objRegExp.Pattern="([IMG])(S+?)([/IMG])"
strContent=objRegExp.Replace(strContent,"IMG SRC=""$2""")

objRegExp.Pattern="([QUOTE])(.+?)([/QUOTE])"
strContent=objRegExp.Replace(strContent,"BLOCKQUOTEfont size=1
face=""Verdana, Arial""quote:/fontHR$2HR/BLOCKQUOTE")

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

objRegExp.Pattern="([i])(.+?)([/i])"
strContent=objRegExp.Replace(strContent,"i$2/i")

objRegExp.Pattern="([b])(.+?)([/b])"
strContent=objRegExp.Replace(strContent,"b$2/b")
set objRegExp=Nothing
UBBCode=strContent

end function

原版的转化程序,摘自freeware版本的ubb论坛,可到 http://www.ultimatebb.com/ 下载(Perl CGI方式)

sub UBBCode {

my $ThePost = shift;
$ThePost =~ s/([URL])(http://S+?)([/URL])/ A HREF="$2"
TARGET=_blank$2/A /isg;

$ThePost =~ s/([URL])(S+?)([/URL])/ A HREF="http://$2"
TARGET=_blank$2/A /isg;

$ThePost =~ s/()(S+@S+?)([/EMAIL])/ A
HREF="mailto:$2"$2/A /isg;

if (($UBBImages eq "ON") && ($OverrideImages ne "yes")) {
$ThePost =~ s/([IMG])(S+?)([/IMG])/ IMG SRC="$2" /isg;
}

$ThePost =~ s/([QUOTE])(.+?)([/QUOTE])/ BLOCKQUOTEfont size="1"
face="Verdana, Arial"quote:/fontHR$2HR/BLOCKQUOTE/isg;

$ThePost =~ s/([i])(.+?)([/i])/i$2/i/isg;

$ThePost =~ s/([b])(.+?)([/b])/b$2/b/isg;

return ($ThePost);

}

学习Asp的同志,不要放弃对CGI的学习,特别是一些老外的CGI程序,看后对我们的asp编程会有很大的启发 

来源:http://www.tulaoshi.com/n/20160219/1605430.html

延伸阅读
标签: Java JAVA基础
  我们知道 XML+XSLT就可以直接输出到支持XML的浏览器上,如IE 5.0以上,但是,我们还要考虑到有不少浏览器不直接支持XML,在这种情况下,我们需要在服务器上进行转换成html输出到浏览器,这种临时过渡办法恐怕要在一段时间内一直要使用. 使用Jsp 加上tablib标识库,我们可以完成这种转换。 著名open source项目组jakarta.apache.org...
标签: 电脑入门
以下代码可循环访问一列范围数据,并将每个条目转换为一个电子邮件地址。 Dim convertRng As Range "Change the range to suit your need. Set convertRng = Range("Z1:Z99") Dim rng As Range For Each rng In convertRng If rng.Value "" Then ActiveSheet.Hyperlinks.Add rng, "mailto:" & rng.V...
标签: ASP
            UBB的实现原理无外乎字符串的查找和替换。因此Microosft Script Engine 5.0版本的RegExp(正则表达式对象)是个不错的选择,但我想由于ISP的关系,我现在这个网站(信诺立)就还不支持Microsoft Script Engine 5.0。所以下面这个子程序可能更适合大家一些。   □Co...
//******************************************************** // 模块:数字转换为中文大写 #include "stdafx.h" static char *unit1[] = { "拾", "佰", "仟" }; static char *unit2[] = { "万", "亿" }; static char *digital[] = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" }; //*******************************...
标签: Web开发
UBB代码对于经常上论坛的朋友来说是最熟悉不过了。这里我不多说了,关于怎么实现UBB转换,不了解的朋友请看这里 正则表达式在UBB论坛中的应用 。 经典论坛的UBB转换我觉得是处理的非常好的,研究了一下它的转换结果[因为没有源码:)],做了下面的演示。转换结果基本上觉得象了。 主要是针对[code]{html}这两个标签的处理,其他的UBB标签...

经验教程

959

收藏

30
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部