Regex Js取代Img Attribues

时间:2015-10-10 18:01:28

标签: javascript regex

var str = '<img data-toggle="tooltip" data-placement="top" class="emoticon-speechless" src="img/emoji/emoticon-speechless.gif" title=":)"> text content<br> <img data-toggle="tooltip" data-placement="top" class="emoticon-speechless" src="img/emoji/emoticon-sad.gif" title=":(">';

正则表达式替换img删除并使用标题attr

:) text content <br> :(

如何获得替换str var

2 个答案:

答案 0 :(得分:1)

您可以使用以下正则表达式

/<img.*title="(.*)">/i

完整代码段:

var str = '<img data-toggle="tooltip" data-placement="top" class="emoticon-speechless" src="img/emoji/emoticon-speechless.gif" title=":)"> text content<br>';
console.log(str.replace(/<img.*title="(.*)">/i,'$1'));

答案 1 :(得分:0)

为什么使用正则表达式来执行此操作?听起来这可能是X/Y problem,也就是说,你正在努力实现的一些任务是认为正则表达式是解决方案吗?

我正在考虑使用replaceChild将img节点更改为您真正想要的内容。

Array.prototype.slice.call(document.querySelectorAll("img")).forEach(function(img) {
  img.parentNode.replaceChild(document.createTextNode(img.title), img);
})
<img data-toggle="tooltip" data-placement="top" class="emoticon-speechless" src="img/emoji/emoticon-speechless.gif" title=":)"> text content<br> <img data-toggle="tooltip" data-placement="top" class="emoticon-speechless" src="img/emoji/emoticon-sad.gif" title=":("></div>

如果你真的有一个你需要操纵的字符串:

var str='<img data-toggle="tooltip" data-placement="top" class="emoticon-speechless" src="img/emoji/emoticon-speechless.gif" title=":)"> text content<br> <img data-toggle="tooltip" data-placement="top" class="emoticon-speechless" src="img/emoji/emoticon-sad.gif" title=":(">'

var container = document.createElement("div");
container.innerHTML = str;

Array.prototype.slice.call(container.querySelectorAll("img")).forEach(function(img) {
  img.parentNode.replaceChild(document.createTextNode(img.title), img);
})

var outstr = container.innerHTML;

document.body.innerHTML = outstr;