在Chrome标签上突出显示基于正则表达式的文字?

时间:2012-03-08 15:56:40

标签: javascript html google-chrome google-chrome-extension

如何在chrome页面上选择(或者将html粗体标记或颜色标记等注入...)所有单词,例如以字母“A”开头?

喜欢skype扩展,选择所有电话号码...我想用某些单词做。

enter image description here

任何想法?


修改

我使用了"<h1><font color='red'>$1</font></h1>"

enter image description here

......这就是结果!

2 个答案:

答案 0 :(得分:3)

就像用户160820所说的那样,.replace是格式化完成模式的文本的好方法。

使用RegExp查找该模式,并将每个匹配项替换为格式化版本:

document.body.innerHTML = document.body.innerHTML.replace(/(A.*?\b)/g, "<b>$1</b>");

只有您必须在内容脚本中执行此操作,由清单自动注入“content_scripts”字段规则,或者通过

从后台页面编程注入
chrome.tabs.executeScript(tabId, {file:'yourContentHere.js'});

see executeScript

如果您想从扩展程序按钮触发格式化,则需要这种方式:浏览器操作或页面操作。

答案 1 :(得分:2)

这是一个用于突出显示的示例RegEx。

var content = document.getElementById("abc").innerHTML;
document.write(content.replace(/(A.*?\b)/g, "<b>$1</b>"));

但它在Chrome tab?

上的确切含义是什么