求 js正则抓取并替换<img>中的src,alt和title属性值从一长串代码中 抓取 符合 <img ... > 并 提取 <img ... src="111.jpg" ... title="111" ... alt="图片111" ....>
的三个 属性 src , title 和 alt 的值补充: src="111.jpg" 可以有 这几种形式:
src="111.jpg" 或 src=" 111.jpg " 或 src='111.jpg' 或 src=' 111.jpg ' 或 src= 111.jpg 或 直接没有src属性同理
title="111" 可以有 这几种形式:
title="111" 或 title=" 111 " 或 title='111' 或 title=' 111 ' 或 title= 111 或 直接没有title属性同理
alt="图片111" 可以有 这几种形式:
alt="图片111" 或 alt=" 图片111 " 或 alt='图片111' 或 alt=' 图片111 ' 或 alt= 图片111 或 直接没有alt属性还有 src ,title , alt 属性 没有固定顺序 可以随意调换, 记得 也可能没有三个当中的一个!
用$1,$2....$9 进行替换成
<img ... src="$1" ... title="$2" ... alt="$3" ....>
这种形式
如果 没有当中的属性 ,就值为空
这样的正则表达式 有点复杂,我写不出来
高手帮帮忙吧
的三个 属性 src , title 和 alt 的值补充: src="111.jpg" 可以有 这几种形式:
src="111.jpg" 或 src=" 111.jpg " 或 src='111.jpg' 或 src=' 111.jpg ' 或 src= 111.jpg 或 直接没有src属性同理
title="111" 可以有 这几种形式:
title="111" 或 title=" 111 " 或 title='111' 或 title=' 111 ' 或 title= 111 或 直接没有title属性同理
alt="图片111" 可以有 这几种形式:
alt="图片111" 或 alt=" 图片111 " 或 alt='图片111' 或 alt=' 图片111 ' 或 alt= 图片111 或 直接没有alt属性还有 src ,title , alt 属性 没有固定顺序 可以随意调换, 记得 也可能没有三个当中的一个!
用$1,$2....$9 进行替换成
<img ... src="$1" ... title="$2" ... alt="$3" ....>
这种形式
如果 没有当中的属性 ,就值为空
这样的正则表达式 有点复杂,我写不出来
高手帮帮忙吧
// 分步吧, 从 codes 提取多个 <img> 标签, 存到 imgs 数组中.
var imgs = [];
codes.replace(/<img\b(?:\s+\w+(=(?:"[^"]*"|'[^']*'|\S+))?)*\s*\/?\s*>/ig, function($0) {
imgs.push($0.replace(
/img\b(?:\s+(?:src=(?:"\s*([^"]*)\s*"|'\s*([^']*)\s*'|(\S+))|title=(?:"\s*([^"]*)\s*"|'\s*([^']*)\s*'|(\S+))|alt=(?:"\s*([^"]*)\s*"|'\s*([^']*)\s*'|(\S+))|\w+(?:=(?:"[^"]*"|'[^']*'|\S+))?))*/i,
'img src="$1$2$3" title="$4$5$6" alt="$7$8$9"'
));
});
alert(imgs.join("\n"));