A-A+
将代码中的HTML标签img转换为[img]url[/img]js代码
我们利用正则把 html标签转换成ubb代码,有需要的同学可参考一下,代码如下:
- /<img(?:s*w*?s*=s*".+?")*?s*srcs*=s*"(.+?)"(?:s*w*?s*=s*".+?")*s*>/ig
这段正则和匹配链接标签的正则基本一样,修改如下,标签名img,没有结束标签而是>结束,测试代码如下:
- <script type="text/javascript">
- function replaceReg(reg,str){
- return str.replace(reg,'[img]$1[/img]')
- }
- var reg =
- <img(?:s*w*?s*=s*".+?")*?s*srcs*=s*"(.+?)"(?:s*w*?s*=s*".+?")*s*>/ig;
- var str = '我就是传说中的图片了<img src="URL">哎。';
- document.write(replaceReg(reg,str)+'<br />');
- </script>
第二个是替换object代码嵌入的flash代码替换为[swf]url[/swf]。
针对原文的正则如下:
/<object[sS]*?src=([sS]+?)(?=s)[sS]*/i
如果是所有的属性都有双引号的话正则也需要修改,测试如下:
- <script type="text/javascript">
- function replaceReg(reg,str){
- return str.replace(reg,'[swf]$1[/swf]')
- }
- var reg = /<object[sS]*?src=([sS]+?)(?=s)[sS]*</object>/i;
- var str = '<object classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000
- codebase=http://download.macromedia.com/pub/shockwave/cabs/flash/
- swflash.cab#version=5,0,0,0 width=255 height=250><param name=movie
- value=url><param name=quality value=high><embed src=url quality=high
- pluginspage=http://www.macromedia.com/shockwave/download/index.cgi?
- P1_Prod_Version=ShockwaveFlash type=application/x-shockwave-flash
- width=255 height=250></embed></object>';
- document.write(replaceReg(reg,str)+'<br />');
- </script>