Выделите текст на основе регулярных выражений на вкладке Chrome? - PullRequest
2 голосов
/ 08 марта 2012

как я могу выбрать (или добавить html жирный или цветной тег и т. Д.) На хромированной странице ко всем словам, например, начинающимся с буквы "A"?

Как и расширение Skype, которое выбирает весь телефонный номер ... я хочу сделать это с определенными словами.

enter image description here

есть идеи?


редактировать

Я использовал "<h1><font color='red'>$1</font></h1>"

enter image description here

... и это результат!

Ответы [ 2 ]

3 голосов
/ 09 марта 2012

Как сказал пользователь 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'});

см. ExecuteScript

Вам понадобится этот способ, если вы хотите запустить форматирование с помощью кнопки расширения: действие браузера или действие страницы.

2 голосов
/ 08 марта 2012

Вот пример RegEx для выделения.

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

но что это значит на Chrome tab?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...