代码如下 | 复制代码 |
/<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]*</object>/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> |
时间: 2024-10-08 06:54:09