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

时间:2011-06-09 17:18:56

标签: javascript regex gnupg

我想为Google Chrome编写一个GnuPG扩展程序。到目前为止,一切都按预期工作:如果我检测到ASCII装甲的密文,我用我的扩展解析它然后替换它。 (输入密码后)

但是,Gmail会在邮件正文中乱丢大量标签,因此我的简单JS方法不再适用。是否可以选择一定数量的可见文本,无论其中包含多少标签,并将其替换为其他文本? (标签不需要存活)。即我想要解密邮件正文。

2 个答案:

答案 0 :(得分:1)

你需要的是这样的东西:

/<[^>]+>/g

此正则表达式将删除所有标签,留下纯文本... 只需要替换一下......就像这样:

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

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

答案 1 :(得分:0)

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

  1. 扩展我的正则表达式,因此它不关心标签:

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

  2. 使用标记

  3. 存储所有匹配项
  4. 使用gibatronic提供的正则表达式删除标签,然后使用gpg进一步处理已清理的文本

  5. 使用body.innerHTML.replace()将来自1)的匹配替换为来自3)的处理文本

  6. 现在可以使用,唯一的问题是它会破坏Gmail。网站布局保持不变,但所有按钮和链接都已不存在。唯一的解决方案是重新加载页面。要解决这个问题:S