如何从HTML标签BODY或Div解析cid值

How to parse cid value from HTML Tags BODY or Div?

本文关键字:Div 解析 cid BODY HTML 标签      更新时间:2023-09-26

我正在尝试从电子邮件内容中的html解析cid值以下载它们并稍后替换:

<body style=
"background-image: url(cid:1A41BAD0-28D1-4EAA-AD4A-4E867FEC28E4/bg_pattern.jpg); margin: 0px; padding: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; background-position: 50% 0px; background-repeat: initial initial;"
class="">
<div style=
"background-image: url(cid:1A41BAD0-28D1-4EAA-AD4A-4E867FEC28E4/bg_pattern.jpg); background-position: 50% 0px; background-repeat: initial initial;"
class="">

在原始的javascript代码中,他们解析了img标签,但我不知道如何修改它来解析另一个标签。https://github.com/MailCore/mailcore2/wiki/Embedding-images-in-HTML-rendered-message

你能给我表演一下吗?

var div = document.getElementsByTagName("div")[0];
var style = div.getAttribute("style");
var cid = style.substring(style.indexOf("cid:")+4, style.indexOf(")"));
alert(cid);
<body style=
"background-image: url(cid:1A41BAD0-28D1-4EAA-AD4A-4E867FEC28E4/bg_pattern.jpg); margin: 0px; padding: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; background-position: 50% 0px; background-repeat: initial initial;"
class="">
<div style=
"background-image: url(cid:1A41BAD0-28D1-4EAA-AD4A-4E867FEC28E4/bg_pattern.jpg); background-position: 50% 0px; background-repeat: initial initial;"
class="">

使用getAttribute和做一些字符串解析…

希望对你有帮助

var x = document.querySelectorAll("*[style]");
x.forEach(function(tag, index) {
    var style = tag.getAttribute("style");
    var array = style.split('background-image: url(cid:')
    if(array.length && array[1]) { 
    // here you will get cid
       var cid = array[1].split(');')[0]
    }
})