Highlight keyword, search the full html body.
function doHighlight(bodyText, searchTerm, highlightStartTag, highlightEndTag)
{
// the highlightStartTag and highlightEndTag parameters are optional
if ((!highlightStartTag) || (!highlightEndTag)) {
highlightStartTag = "<font style='color:red; background-color:white;'>";
highlightEndTag = "</font>";
}
// find all occurences of the search term in the given text,
// and add some "highlight" tags to them (we're not using a
// regular expression search, because we want to filter out
// matches that occur within HTML tags and script blocks, so
// we have to do a little extra validation)
var newText = "";
var i = -1;
var lcSearchTerm = searchTerm.toLowerCase();
var lcBodyText = bodyText.toLowerCase();
while (bodyText.length > 0) {
i = lcBodyText.indexOf(lcSearchTerm, i+1);
if (i < 0) {
newText += bodyText;
bodyText = "";
} else {
// skip anything inside an HTML tag
if (bodyText.lastIndexOf(">", i) >= bodyText.lastIndexOf("<", i)) {
// skip anything inside a <script> block
if (lcBodyText.lastIndexOf("/script>", i) >= lcBodyText.lastIndexOf("<script", i)) {
newText += bodyText.substring(0, i) + highlightStartTag + bodyText.substr(i, searchTerm.length) + highlightEndTag;
bodyText = bodyText.substr(i + searchTerm.length);
lcBodyText = bodyText.toLowerCase();
i = -1;
}
}
}
}
return newText;
}
function highlightSearchTerms(searchText, treatAsPhrase, warnOnFailure, highlightStartTag, highlightEndTag)
{
// if the treatAsPhrase parameter is true, then we should search for
// the entire phrase that was entered; otherwise, we will split the
// search string so that each word is searched for and highlighted
// individually
if (treatAsPhrase) {
searchArray = [searchText];
} else {
searchArray = searchText.split(" ");
}
if (!document.body || typeof(document.body.innerHTML) == "undefined") {
if (warnOnFailure) {
alert("Sorry, for some reason the text of this page is unavailable. Searching will not work.");
}
return false;
}
var bodyText = document.body.innerHTML;
for (var i = 0; i < searchArray.length; i++) {
bodyText = doHighlight(bodyText, searchArray[i], highlightStartTag, highlightEndTag);
}
document.body.innerHTML = bodyText;
return true;
}
function callOnLoad(){
highlightSearchTerms("nwt");
}
分享到:
相关推荐
vue-highlight-words来自react-highlight-words Vue组件的简单端口,用于突出显示较大文本正文中的单词。 演示为什么? 它使用render t vue-highlight-words一个来自react-highlight-words Vue组件的简单端口来突出...
import Highlighter from "react-highlight-words" ;ReactDOM . render ( < Highlighter highlightClassName = "YourHighlightClass" searchWords = { [ "and" , "or" , "the" ] } autoEscape = { true } ...
颜色突出显示多个关键字 该插件用于突出显示多个关键字。 主要功能指的是Multi-highlight插件,但修复了Multi-highlight插件中的一些未知错误。 支持语言:English (United States)
名称:Cross Words Highlight 划词高亮 -------------------- 版本:1.1.3 作者:1776243356a 分类:其他 -------------------- 概述:网页划词高亮,随时随地添加批注,记录笔记,方便快捷的管理正在阅读的网页文档...
Vue Words Highlight 用于高亮关键词的vue组件,可以用于类似于搜索的功能。 Installation npm install --save vue-words-highlight # or yarn add vue-words-highlight Usage Use Directive import { highlight...
《Unity插件Highlight Plus v9.0深度解析》 Unity引擎是全球领先的实时3D创作工具,被广泛应用于游戏开发、虚拟现实、增强现实、影视动画等领域。在这些项目中,提升用户体验和视觉效果至关重要,而Highlight Plus...
Unity Highlight Plus v7.7.2
《Super Highlight:超越传统的文本高亮插件》 在当今信息爆炸的时代,高效地阅读和检索文本变得至关重要。为此,一款优秀的高亮插件能够帮助我们突出重点,提高阅读效率。今天我们要介绍的是名为"Super Highlight...
在Unity中,视觉效果对于提升游戏体验至关重要,而"Highlight Plus v3.6"就是这样一个专门针对Unity设计的插件,用于实现对象的轮廓叠加发光效果。 Highlight Plus插件提供了高级的描边和高光功能,它能够帮助...
语言:English,Français,Nederlands,español,русский 根据您的列表自动查找并突出显示网页上的单词和短语 - 无需注册 - 以组和列表组织您的搜索单词 - 使用正则表达式(正则表达式令牌) - 所有数据本地...
UNITY高亮显示插件,可以显示模型轮廓 内含 Highlight Plus 5.3.4.unitypackage highlight.unitypackage Highlighting.unitypackage
"Highlight Plus 4.0" 是一款专为Unity游戏引擎设计的高亮插件,它致力于提升游戏场景中的视觉效果,使玩家能够更加专注于游戏的关键元素。Unity是一款强大的跨平台3D游戏开发工具,被广泛应用于游戏开发、虚拟现实...
Highlight all occurrences of selected word插件,与选中的代码相同的会自动高亮,方便查找。最新版支持VisualStudio2017,实际验证,完全可以使用。
unity物体轮廓高亮显示插件 Highlight Plus 8.0 2022
《PanGu.HighLight.dll:深度解析与应用》 在IT领域,动态链接库(Dynamic Link Library,简称DLL)是Windows操作系统中的一个重要组成部分。DLL文件允许多个程序共享同一块内存空间,从而节省系统资源,提高软件...
《Highlight4Writer 1.0.9.0 简体中文版:一款全面本地化的写作辅助工具》 Highlight4Writer 1.0.9.0 简体中文版是一款专为中文用户设计的写作插件,它基于Highlight4Writer 1.0.9.0 alpha英文版进行深度本地化改造...
《Highlight Plus 5.3.4:提升游戏视觉体验的专业高亮插件》 在游戏开发领域,用户体验的优化往往离不开细腻的视觉效果。Highlight Plus 5.3.4是一款专为Unity引擎设计的高亮插件,它旨在增强游戏内的物体高亮表现...
Highlight 3.9 发布,该版本改进了插件接口用于支持输出文本的操作,增加一些插件用来在 HTML、LaTeX 和 RTF 输出中插入超链,改进了 Perl 和 N3 语言定义文件,修复了一些小bug。 Highlight 用来对源码进行语法...