求一个js正则表达式:替换html内容中除了<img>标签外的特定字符为另外一个字符. 10
如下示例:asdfasdf<imgsrc=/img/app.jpgalt="苹果"/>这里是一个苹果,我们应该常吃我想替换"苹果"为"<strong>苹果</strong...
如下示例:
asdfasdf<img src=/img/app.jpg alt="苹果"/>这里是一个苹果,我们应该常吃
我想替换"苹果"为"<strong>苹果</strong>",但不能替换<img>的alt中的内容.
请大拿们出手
再例如:
asdfasdf
<img src=/img/app.jpg alt="苹果好吃" title="多吃苹果" />
(1)这里是一个苹果,我们应该常吃苹果.<br />
<img src=/img/app.jpg alt="香蕉" />
(2)这里是一个香蕉,我们应该少吃香蕉,多吃苹果
这里我只能替换(1)行和(2)行的"苹果"为<strong>苹果</strong>",其它地方不能动,也是能替换<img>中出现的香蕉. 展开
asdfasdf<img src=/img/app.jpg alt="苹果"/>这里是一个苹果,我们应该常吃
我想替换"苹果"为"<strong>苹果</strong>",但不能替换<img>的alt中的内容.
请大拿们出手
再例如:
asdfasdf
<img src=/img/app.jpg alt="苹果好吃" title="多吃苹果" />
(1)这里是一个苹果,我们应该常吃苹果.<br />
<img src=/img/app.jpg alt="香蕉" />
(2)这里是一个香蕉,我们应该少吃香蕉,多吃苹果
这里我只能替换(1)行和(2)行的"苹果"为<strong>苹果</strong>",其它地方不能动,也是能替换<img>中出现的香蕉. 展开
2个回答
展开全部
<!DOCTYPE HTML>
<html>
<head>
<title>Page Title</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script>
onload = function (){
var html = document.body.innerHTML;
var reg = /(<img(?:(?!id|>).)*)(id[\=\"\'\s]+)?([^\"\'\s]*)([\"\']?)([^>]*>)/gi;
var idx = 0;
html = html.replace(reg, function($0, $1, $2, $3, $4, $5){
idx++;
if(typeof $2 == "undefined"){
return $1 + " id='" + idx + "'" + $3 + $4 + $5;
}
return $1 + $2 + idx + $4 + $5;
});
document.body.innerHTML = html;
}
</script>
</head>
<body>
<img src="acb.jpg" id="imgx" />
<ul>
<li><img src="sdf.png" /></li>
</ul>
</body>
</html>
展开全部
var s='asdfasdf<img src=/img/app.jpg alt="苹果"/>这里是一个苹果,我们应该常吃.\nasdf<img src=/img/app.jpg alt="香蕉"/>这里是一个香蕉,我们应该常吃';
var p=/(<img(?:(?!alt).)+alt=\"([^\"]+)\"[^>]*>[^<> ]*?)\2/g;
var v = s.replace(p,"$1<strong>$2</strong>");
alert(v);
追问
你的答案可否再修改下?
因为如果我出现在标签中的属性是title的话,你的匹配会失败,另外,如果在正文中出现了多次的苹果,也会失败.第三则是,不是所有的标签中的alt内容都是我要替换的,我只替换关键字,,具体可看我的补充.
tks!
追答
var s='asdfasdf<img src=/img/app.jpg alt="苹果"/>这里是一个苹果,我们应该常吃.\nasdf<img src=/img/app.jpg alt="香蕉"/>这里是一个香蕉,我们应该少吃香蕉,多吃苹果';
var p=/(<img[^>]*>[^<> ]*?)苹果/gi;
var v = s.replace(p,"$1<strong>苹果</strong>");
alert(v);
/*
---------------------------
来自网页的消息
---------------------------
asdfasdf<img src=/img/app.jpg alt="苹果"/>这里是一个<strong>苹果</strong>,我们应该常吃.
asdf<img src=/img/app.jpg alt="香蕉"/>这里是一个香蕉,我们应该少吃香蕉,多吃<strong>苹果</strong>
---------------------------
确定
---------------------------
*/
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询