首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

随机展示UBB

2012-10-07 
随机显示UBB想写个随机显示的函数,当用户输入:[rndtxt]内容1|内容2|内容3[/rndtxt],结果是随机显示其中一

随机显示UBB
想写个随机显示的函数,当用户输入:[rndtxt]内容1|内容2|内容3[/rndtxt],结果是随机显示其中一个内容。关键代码如下,现在的问题是加了代码后没反应,原样输出。

VBScript code
    if instr(1,strContent,"[/rndtxt]",1)>0 then        re.Pattern="(\[rndtxt\])(.[^\[]*)(\[\/rndtxt\])"        myarray=split("$2","|")        strContent=re.Replace(strContent,myarray(int(rnd()*ubound)+1))    end if


[解决办法]
VBScript code
Randomize s="~[rndtxt]内容1|内容2|内容3[/rndtxt]~afefefe~[rndtxt]内容4|内容5|内容6[/rndtxt]~[rndtxt]内容1|内容2|内容3[/rndtxt]"set rx=new regexprx.ignorecase=truerx.global=truerx.pattern="\[rndtxt\]([\s\S]+?)\[/rndtxt\]"set mc=rx.execute(s)for each m in mc  arr=split(m.submatches(0),"|")  s=replace(s,m.value,arr(int(rnd()*ubound(arr))),1,1)'正则替换没有只执行一次的替换,所以改为replace方法nextset rx=nothingresponse.write s 

热点排行