下面的一段html怎么获取 from ,to ,subject的内容?

<div id="rb"><div class="top-bottom"><div class="request-title">Request</div><div class="mailview-msg-ct"><div class="mailview-msg"><table class="props"><tbody><tr><td class="lbl">From:</td><td>"1136@qq.com" <1131384226@qq.com></td><td class="timestamp">Sent on 2023-06-05 05:24:11.000</td></tr><tr><td class="lbl">To:</td><td>niuxu <niu@ul.com></td><td> </td></tr><tr><td class="lbl">Subject:</td><td>test001</td><td> </td></tr><tr class="moreprops mp1 first"><td class="lbl">Content-Type:</td><td colspan="2">multipart/alternative;
<span>  </span>boundary="----=_001_NextPart605424381086_=----"</td></tr><tr class="moreprops mp1"><td class="lbl">Message-ID:</td><td colspan="2"><202@qq.com></td></tr><tr class="moreprops mp1"><td class="lbl">Mime-Version:</td><td colspan="2">1.0</td></tr><tr class="moreprops mp1"><td class="lbl">X-GUID:</td><td colspan="2">7D307BD8-939E-43D5-91F0-1A639634E775</td></tr><tr class="moreprops mp1"><td class="lbl">X-Has-Attach:</td><td colspan="2">no</td></tr><tr class="moreprops mp1"><td class="lbl">X-Mailer:</td><td colspan="2">Foxmail 7.2.25.228[cn]</td></tr><tr class="moreprops mp1 last"><td class="lbl">X-Priority:</td><td colspan="2">3</td></tr><tr><td> </td><td colspan="2" style="padding-bottom: 10px;"><span onclick="javascript: reconShowHideMeta(this, 'mp1');" class="show-more">more</span></td></tr></tbody></table><div class="mbody"><body>
<div>
<span></span>test001
</div>
<div>


</div>



<div>
<span>
<div>

<div>
 1131@qq.com
</div>

</div></span>
</div>
</body></div></div></div></div></div>
这是一段后端返回的html怎么拿到from,to,subject的内容。顺序会不一样,该怎么截取呀?或者有办法可以转化为json吗

阅读 1.7k
1 个回答

image.png

  let str = `
  <div id="rb"><div class="top-bottom"><div class="request-title">Request</div><div class="mailview-msg-ct"><div class="mailview-msg"><table class="props"><tbody><tr><td class="lbl">From:</td><td>"1136@qq.com" <1131384226@qq.com></td><td class="timestamp">Sent on 2023-06-05 05:24:11.000</td></tr><tr><td class="lbl">To:</td><td>niuxu <niu@ul.com></td><td> </td></tr><tr><td class="lbl">Subject:</td><td>test001</td><td> </td></tr><tr class="moreprops mp1 first"><td class="lbl">Content-Type:</td><td colspan="2">multipart/alternative;
<span>  </span>boundary="----=_001_NextPart605424381086_=----"</td></tr><tr class="moreprops mp1"><td class="lbl">Message-ID:</td><td colspan="2"><202@qq.com></td></tr><tr class="moreprops mp1"><td class="lbl">Mime-Version:</td><td colspan="2">1.0</td></tr><tr class="moreprops mp1"><td class="lbl">X-GUID:</td><td colspan="2">7D307BD8-939E-43D5-91F0-1A639634E775</td></tr><tr class="moreprops mp1"><td class="lbl">X-Has-Attach:</td><td colspan="2">no</td></tr><tr class="moreprops mp1"><td class="lbl">X-Mailer:</td><td colspan="2">Foxmail 7.2.25.228[cn]</td></tr><tr class="moreprops mp1 last"><td class="lbl">X-Priority:</td><td colspan="2">3</td></tr><tr><td> </td><td colspan="2" style="padding-bottom: 10px;"><span onclick="javascript: reconShowHideMeta(this, 'mp1');" class="show-more">more</span></td></tr></tbody></table><div class="mbody"><body>
<div>
<span></span>test001
</div>
<div>


</div>

<div>
<span>
<div>
<div>
 1131@qq.com
</div>
</div></span>
</div>
</body></div></div></div></div></div>
`
 function regex (str) {
    let reg = /(?<=<td( class=".*")*>)(.*?)(?=<\/td>)/g
    const list = str.match(reg)
      console.log(list);
    let obj = {
      From: [],
      To: [],
      Subject: []
    }

    list.forEach((item, index) => {
      if (item == 'From:') {
        obj.From.push(list[index + 1])
        obj.From.push(list[index + 2])
      } else if (item == 'To:') {
        obj.To.push(list[index + 1])
        obj.To.push(list[index + 2])
      } else if (item == 'Subject:') {
        obj.Subject.push(list[index + 1])
        obj.Subject.push(list[index + 2])
      }
    });

    return obj
  }
  let result = regex(str)
  console.log(result);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题