<%Public Function Ubbcode(strcontent)dim reSet re=new RegExpre.IgnoreCase =truere.Global=True'strcontent=Replace(strcontent,"file:","file :")'strcontent=Replace(strcontent,"files:","files :")'strcontent=Replace(strcontent,"script:","script :")'strcontent=Replace(strcontent,"js:","js :")'图片UBBre.pattern="\[img\](http|https|ftp):\/\/(.[^\[]*)\[\/img\]"strcontent=re.replace(strcontent,"<a onfocus=""this.blur()"" href=""$1://$2"" target=new><img src=""$1://$2"" border=""0"" alt=""按此在新窗口浏览图片"" onload=""javascript:if(this.width>screen.width-333)this.width=screen.width-333""></a>")'链接UBBre.pattern="(\[url\])(.[^\[]*)(\[url\])"strcontent= re.replace(strcontent,"<a href=""$2"" target=""new"">$2</a>")re.pattern="\[url=(.[^\[]*)\]"strcontent= re.replace(strcontent,"<a href=""$1"" target=""new"">")'邮箱UBBre.pattern="(\[email\])(.*?)(\[\/email\])"strcontent= re.replace(strcontent,"<img align=""absmiddle"" ""src=image/email1.gif""><a href=""mailto:$2"">$2</a>")re.pattern="\[email=(.[^\[]*)\]"strcontent= re.replace(strcontent,"<img align=""absmiddle"" src=""image/email1.gif""><a href=""mailto:$1"" target=""new"">")
2 回答
炎炎设计
TA贡献1808条经验 获得超4个赞
在replace函数中,$1,$2,$3,可以分别用来表示:
正则表达式中,匹配出的第1、2、3个子表达式。
但如果$1,$2,$3直接写在正则表达式中,是不合法的。
这串HTML代码中的$1,$2,$3其实和正则表达式无关,只是变量,起占位的作用:
在服务器端,会通过脚本(如Node.js)将HTML文件中的$1,$2,$3批量替换为实际字符串。
慕姐8265434
TA贡献1813条经验 获得超2个赞
$1,$2,$3和正则表达式无关,这个代码应该是放在服务器上运行的,相当于一个变量。执行完之后,$1,$2,$3就被赋予实际的值了。这里起个站位的作用。
正则表达式内容有点多哦,大概说一下
^表示开始
$结尾
\用来转义
[a-z]指的范围在a-z
[a-z]{6}6位a-z范围的值
[a-z]*不限制长度范围
添加回答
举报
0/150
提交
取消