我正在寻找一些解决方案来帮助从具有突出显示功能的 html 字符串中搜索术语。我可以通过从字符串中删除 html 内容来做到这一点。但问题是我将无法看到带有突出显示的原始内容。我确实有以下功能,可以在没有 html 标记的情况下搜索和突出显示字符串。
private static updateFilterHTMLValue(value: string, filterText: string): string
{
if (value == null) {
return value;
}
let filterIndex: number = value.toLowerCase().indexOf(filterText);
if (filterIndex < 0) {
return null;
}
return value.substr(0, filterIndex)
+ "<span class='search-highlight'>"
+ value.substr(filterIndex, filterText.length)
+ "</span>"
+ value.substr(filterIndex + filterText.length, value.length - (filterIndex + filterText.length));
}
因此,为了使用 html 管理对字符串的搜索,我创建了可以使用 html 搜索字符串的新函数。(我在搜索正确的字符串匹配之前删除了 html 部分)
private static test(value: string, filterText: string): string {
if (value == null) {
return value;
}
// Check for raw data without html
let valueWithoutHtml = TextFilterUtils.removeTextHtmlTags(value);
let filterIndex: number = valueWithoutHtml.toLowerCase().indexOf(filterText);
if (filterIndex < 0) {
return null;
} else {
// TODO:
// just need to figure how we can highlight properly
// real issue is to identify proper index for warping <span class='search-highlight'> </span>
return "";
}
}
我们如何对 html 字符串进行变形?任何帮助或指导将不胜感激。
慕盖茨4494581
陪伴而非守候
白板的微信
相关分类