UBB编辑器问题:为什么插入媒体文件(如.rm和.wma)后,在页面上不能被转换?
我使用的是动网的HTML编辑器,其有设计、UBB、预览、源码四个模式,在UBB模式中,为什么插入媒体文件(如.rm和.wma)后,在页面上不能被转换?后来仔细分析,发现是UBBCode.asp中相关的正则表达式有问题。
谁有完整的UBB编辑器源程序?问题解决,立即结帖!
QQ:309331800
电邮:lushui24@sohu.com
有耐心的朋友可以阅读一下下面的源代码。
---------------------------------------------------------------------------------------------------------------
post.js
/*不能转换,因为指定了宽度和高度。
function Cswf() {
if (helpstat){
alert("Flash\nFlash 动画.\n用法: [flash=宽度, 高度]Flash 文件的地址[/flash]");
} else if (basic) {
AddTxt="[flash=500,350][/flash]";
AddText(AddTxt);
} else {
txt2=prompt("flash宽度,高度","500,350");
if (txt2!=null) {
txt=prompt("Flash 文件的地址","http://");
if (txt!=null) {
if (txt2=="") {
AddTxt="[flash=500,350]"+txt;
AddText(AddTxt);
AddTxt="[/flash]";
AddText(AddTxt);
} else {
AddTxt="[flash="+txt2+"]"+txt;
AddText(AddTxt);
AddTxt="[/flash]";
AddText(AddTxt);
}
}
}
}
}
*/
//可以转换。
function Cswf() {
if (helpstat){
alert("Flash 动画\n插入 Flash 动画.\n用法: [flash]Flash 文件的地址[/flash]");
} else if (basic) {
AddTxt="[flash][/flash]";
AddText(AddTxt);
} else {
txt=prompt("Flash 文件的地址","http://");
if (txt!=null) {
AddTxt="[flash]"+txt;
AddText(AddTxt);
AddTxt="[/flash]";
AddText(AddTxt);
}
}
}
---------------------------------------------------------------------------------------------------------------
ubbcode.asp
'不能转换,因为指定了宽度和高度。
if instr(1,strContent,"[flash]",1)>0 then
re.Pattern="(\[FLASH\])(.[^\[]*)(\[\/FLASH\])"
strContent= re.Replace(strContent,"<a href=""$2"" TARGET=_blank><IMG SRC=editor/images/swf.gif border=0 alt=点击开新窗口欣赏该FLASH动画! height=16 width=16>[全屏欣赏]</a><br><OBJECT codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 width=500 height=400><PARAM NAME=movie VALUE=""$2""><PARAM NAME=quality VALUE=high><embed src=""$2"" quality=high pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash' width=500 height=400>$2</embed></OBJECT>")
end if