使用JS替换Gmail邮件正文中的文本

Use JS to replace text in Gmail message body

本文关键字:正文 文本 JS 替换 Gmail 使用      更新时间:2023-09-26

我想为Google Chrome编写一个GnuPG扩展。到目前为止,一切都如预期:如果我检测到ASCII加密文本,我会用我的扩展名解析它,然后替换它。(在输入密码后)

然而,Gmail在邮件正文中乱丢了大量的标签,所以我简单的JS方法已经不起作用了。有没有什么东西可以选择一定数量的可见文本,无论其中包含多少标签,并用其他文本替换它?(标签不需要存活)。我想把邮件正文解密。

您需要的是这样的东西:

/<[^>]+>/g

此regexp将删除所有标记,并保留纯文本。。。只需要免费更换。。。像这样的东西:

"<p>text <b>full</b> of <i>junk</i> and <u>unwanted</u> tags</p>".replace(/<[^>]+>/g, "");

关于选择一个特定的部分,我想你可以使用子字符串!

我真正需要做的有点不同:

  1. 扩展我的正则表达式,使其不关心标签:

    var re = /-----['s'S]+?-----['s'S]+?-----['s'S]+?-----/gm;

  2. 存储所有匹配项,带有标签

  3. 使用gibatronic提供的正则表达式删除标记,然后使用gpg 进一步处理已清理的文本

  4. 使用body.innerHTML.replace()将1)中的匹配项替换为3)中的已处理文本

它现在工作了,唯一的问题是它破坏了Gmail。网站布局保持不变,但所有按钮和链接都已失效。唯一的解决方案是重新加载页面。必须修复此问题:S