【发布时间】:2021-06-14 10:38:48
【问题描述】:
我正在尝试从某些 HTML 中删除一个部分。这是我正在使用的示例(某些特定的 div id 可能会更改,但想法就在这里):
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir="ltr">---------- Forwarded message ---------<br>data data data<br></div><br><br>
<div id="itemID" style="margin:0px"><div style="margin:0px">
<html i want to keep etc>
我想把它改成这样:
<div id="itemID" style="margin:0px"><div style="margin:0px">
<html i want to keep etc>
作为另一个例子,这个 HTML:
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir="headerline">---------- Forwarded message ---------<br>data data data<br></div><br><br>
<div id="itemID2" style="margin:10px"><div style="margin:10px">
<html i want to keep etc>
应该变成这样的样子:
<div id="itemID2" style="margin:10px"><div style="margin:10px">
<html i want to keep etc>
换句话说,在第一行或第二行中查找Forwarded message,如果找到,则删除直到并包括该行的每一行。现在工作的 RegEx 看起来像这样:
var HTMLbodynew = HTMLbody.replace(/\n.+Forwarded Message.+\n/,"");
但是,正如臭名昭著的 Stackoverflow post 中所述,我不应该使用正则表达式来解析 HTML。没有正则表达式有没有办法做到这一点?
【问题讨论】: