作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不是程序员(但尝试为我的日常工作创建小型编程解决方案)。
这一次我试图构建一个日志分析器,当它在浏览器上打开时,它将突出显示日志文件(.txt)上的特定关键字。
日志文件将位于日志服务器上,并具有特定的 URL。
我想在日志分析器页面上使用该 URL 并打开该文本文件,一旦加载了文本文件,javascript 将突出显示我在 javascript 上提到的关键字(静态)。
我尝试使用 mark.js 解决方案。
<body>
<h1>My First Heading</h1>
<p>Lorem ipsum dolor sit āmet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, nò sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie çonsequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit prāesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet</p>
<script>
var instance = new Mark(document.querySelector("body"));
instance.mark(["ipsum", "lorem"], {
"accuracy": "exactly"
});
$('mark').css({'background':'transparent' , 'color':'yellow'});
</script>
</body>
但是 mark.js 只提供了用单色代码突出显示单词的选项(在上面的代码中我使用了黄色),但我希望关键字用不同的颜色突出显示,例如
信息关键字以黄色突出显示,错误关键字以红色突出显示,成功关键字以绿色突出显示 .我可以在这里使用什么解决方案来实现我的目标?任何帮助表示赞赏。
最佳答案
我的解决方案是没有 Mark js:
步骤 1. 获取段落的 HTML 内容。
步骤 2. 使用正则表达式在原始文本中查找值。
步骤 3. 用添加的文本替换原始文本 span
dom 元素。
const text = document.querySelector("p");
const input = document.querySelector("input");
const button = document.querySelector("button");
const originalTxt = text.innerHTML;
button.addEventListener("click", (e) => {
e.preventDefault();
mark();
});
function mark() {
const inputValue = input.value;
const regex = new RegExp(inputValue, "gi");
text.innerHTML = originalTxt.replace(
regex,
`<span style="color:red;">${inputValue}</span>`
);
}
<input type="text" />
<button>Mark!</button>
<h1>My First Heading</h1>
<p>Lorem ipsum dolor sit āmet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, nò sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie çonsequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit prāesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet
</p>
关于javascript - 在网站上打开的文本文件上突出显示具有不同颜色代码的特定单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71846152/
有没有一种方法可以“标记”对象的属性,使它们在反射中“突出”? 例如: class A { int aa, b; string s1, s2; public int AA
我是一名优秀的程序员,十分优秀!