我想实现的目标是,在格式为HTML的原始文本中,突出显示由参数给出的文本。
我正在使用Angular 7,并尝试使用jQuery函数和一些第三方库来实现这个目标,但还没有成功。
以下是场景描述:
原始HTML文本如下:
`getHtmlRawContent()` 方法返回字符串形式的 HTML 原始代码。
我尝试使用 markjs 和 hilitorjs 处理这个问题,但是它们都试图通过将关键字替换为 `` 关键字来解决这个问题,所以由于文本已经是原始的 HTML,因此这些步骤没有起作用。
下面是方法和代码示例:
它实际上在某些情况下会呈现 HTML 代码而不是输出原始内容。
"HTML 一侧"
谢谢你。
我正在使用Angular 7,并尝试使用jQuery函数和一些第三方库来实现这个目标,但还没有成功。
以下是场景描述:
原始HTML文本如下:
<div #rawContentContext class="form-group m-form__group row col-lg-12" style="width:100%; height: 100vh; overflow:scroll;">
{{ getHtmlRawContent() }}
</div>
`getHtmlRawContent()` 方法返回字符串形式的 HTML 原始代码。
我尝试使用 markjs 和 hilitorjs 处理这个问题,但是它们都试图通过将关键字替换为 `` 关键字来解决这个问题,所以由于文本已经是原始的 HTML,因此这些步骤没有起作用。
下面是方法和代码示例:
<script type="text/javascript">
var myHilitor = new Hilitor(document.getElementById("rawContentContext"));
myHilitor.apply("exceeded");
</script>
它实际上在某些情况下会呈现 HTML 代码而不是输出原始内容。
也尝试用管道。
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'highlight'
})
export class HighlightSearch implements PipeTransform {
transform(value: any, args: any): any {
if (!args) {return value;}
if (value!=null){
var re = new RegExp(args, 'gi');
return value.replace(re, '<p style="background-color: red;"> <mark>$&></mark> </p>');
}
}
}
"HTML 一侧"
{{ getHtmlRawContent() | highlight:getSearchedKeyWord() }}
谢谢你。