谁有用JavaScript实现的UBB编码函数啊?

MajorCS 2003-12-01 07:47:10
我是用Jscript写ASP程序的,动网的UBB转换不能用啊,谁有用JavaScript实现的UBB编码函数,能拿出来共享一下吗?谢谢:),高分送上啊,我一定很快结贴的!
...全文
70 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
MajorCS 2003-12-01
  • 打赏
  • 举报
回复
哦,太好了!
谢谢 N1rvana(焦油坑中的兽神)
更多谢你的“授人以鱼不如授人以渔”:)

to:xiaozihao,也谢你了,QQ还是算了:)

我结贴了,谢谢:)
xiaozihao 2003-12-01
  • 打赏
  • 举报
回复
加我QQ啦:171194061
说明UBB
xiaozihao 2003-12-01
  • 打赏
  • 举报
回复
我在某些网站源程序中分解了套UBB代码非常好的,你要吗?
N1rvana 2003-12-01
  • 打赏
  • 举报
回复
哦?呵呵,我和楼主一样,是用Jscript的,哈哈,我这里有自己的一套UBB编码,贴给你看看:)

//===================================

function JsUBB(str)
{

var re=/\[i\](.[^\[]*)\[\/i\]/gi;
str=str.replace(re,"<i>$1</i>"); //斜体字
re=/\[b\](.[^\[]*)\[\/b\]/gi;
str=str.replace(re,"<b>$1</b>"); //粗体字
re=/\[u\](.[^\[]*)\[\/u\]/gi;
str=str.replace(re,"<u>$1</u>"); //下划线
re=/\[color=(.[^\[]*)\](.[^\[]*)\[\/color\]/gi;
str=str.replace(re,"<font color=$1>$2</font>"); //字体颜色
re=/\[size=([1-7])\](.[^\[]*)\[\/size\]/gi;
str=str.replace(re,"<font size=$1>$2</font>"); //字体大小
re=/\[face=(.[^\[]*)\](.[^\[]*)\[\/face\]/gi;
str=str.replace(re,"<font face=$1>$2</font>"); //字体

re=/\[center\](.[^\[]*)\[\/center\]/gi;
str=str.replace(re,"<div align='center'>$1</div>"); //居中
re=/\[right\](.[^\[]*)\[\/right\]/gi;
str=str.replace(re,"<div align='right'>$1</div>"); //右对齐
re=/\[quote\](.[^\[]*)\[\/quote\]/gi; //引用
str=str.replace(re,"<table bgcolor='#E6FFE6' width='90%' style='border:1px #009900 dotted' align='center'><tr><td class='td1'>$1</td></tr></table>");

re=/\[fly\](.*)\[\/fly\]/gi; //飞行
str=str.replace(re,"<marquee width=90% behavior=alternate scrollamount=3>$1</marquee>");
re=/\[move\](.*)\[\/move\]/gi; //移动
str=str.replace(re,"<MARQUEE scrollamount=3>$1</marquee>");
re=/\[SHADOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\](.[^\[]*)\[\/SHADOW]/gi; //阴影
str=str.replace(re,"<table width=$1><tr><td style='filter:shadow(color=$2, strength=$3)'>$4</td></tr></table>");
re=/\[GLOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\](.[^\[]*)\[\/GLOW]/gi; //外发光
str=str.replace(re,"<table width=$1 ><tr><td style='filter:glow(color=$2, strength=$3)'>$4</td></tr></table>")

re=/\[URL\](.[^\[]*)\[\/URL\]/gi;
str=str.replace(re,"<a href='$1' target=_blank>$1</a>"); //超链接1
re=/\[URL=(.[^\[]*)\](.[^\[]*)\[\/URL\]/gi;
str=str.replace(re,"<a href='$1' target=_blank>$2</a>"); //超链接2

re=/\[EMAIL\]([\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+)\[\/EMAIL\]/gi;
str=str.replace(re,"<a href='mailto:$1'>$1</a>"); //电子邮件链接1
re=/\[EMAIL=([\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+)\](.[^\[]*)\[\/EMAIL\]/gi;
str=str.replace(re,"<a href='mailto:$1'>$4</a>"); //电子邮件链接2

re=/\[img\](.[^\[]*)\[\/img\]/gi;
str=str.replace(re,"<a href='$1' target=_blank><img src='$1' border='0' alt='单击在新窗口浏览'></a>"); //图片
re=/:em(\d{1,}):/gi;
str=str.replace(re,"<img src='emot/$1.gif' border='0'>"); //表情图标

return str;
}

//===================================

另外,“授人以鱼不如授人以渔”,呵呵,其实所有用VBS写的函数,Js都可以调用的,在服务器端。

假设有一个VBs的函数 VBUBBcode(str)
那么我们加上runat=Server,就可以用Js调用了:)
<script language="VBScript" runat="Server">
Function VBUBBcode(str)
'...........
End Function
</script>

PS:楼主快结贴哦:)
Mynxer 2003-12-01
  • 打赏
  • 举报
回复
哈,这个不难啊,反正都是那些正则表达式,换个表述而已啊。
看着VBS的,自己就可以写出来的啊

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧