我怎样才能获得剥离后产生某个字符串的 html 部分
How can I get the portion of html that produces a certain string after stripped?
基本上,我希望能够对某个html字符串调用一个函数,并返回出现的开始和结束索引的数组。它在控制台中如下所示:
var html = "<b>Hello</b> <mark>World</mark>";
> getIndices(html, "Hello'u00A0World");
< [[3, 29]]
这样做的最终目标是能够用一些标签包装 html,给定一个字符串以在文档中搜索,就像大多数浏览器的 ctrl+f 功能一样。
我在下面写了代码片段,但它的性能很糟糕,特别是在长网页上,当在整个身体的内部 html 上调用它时。这段代码绝对可以通过执行二进制搜索而不是蛮力和以不同的方式执行其他一些操作来优化,但我在实现时遇到了麻烦。对此有何看法?
function getIndices(html, searchTerm){
var i = 0,
indices = [];
while(html.slice(i).replace(/<[^>]*>/g, '').indexOf(searchTerm) !== -1){
i = html.indexOf(searchTerm[0], i);
if(html.slice(i).replace(/<[^>]*>/g, '').indexOf(searchTerm) === 0){
indices.push(i);
}
i++;
}
return indices;
}
谢谢!
创建一个树行者并检查哪些节点包含搜索字符串
相关文章:
- 返回Javascript中字符串的特定部分
- 如何使用javascript选择字符串的部分,添加html标记或删除部分
- JavaScript Regex(?i)选项中字符串大小写不敏感的部分不起作用
- 如何分割由JavaScript中使用正则表达式的多个部分组成的字符串
- 使用Jquery或JavaScript的字符串的必需特定部分
- 字符串中重复部分的Regex
- 使用部分字符串在数组中循环
- Javascript中的搜索栏-部分匹配字符串
- 从 Javascript 中的字符串中提取部分
- 如何获取部分 JSON 字符串
- Javascript 替换为正则表达式 - 仅替换找到的部分字符串
- 使用正则表达式返回部分字符串
- 使用Javascript Regexp替换基于变量的字符串部分
- 希望当字符串部分或完全匹配对象中的值时返回此函数
- 如何禁用字符串部分的粘贴选项,而不是数字部分
- 最有效的提取字符串部分的方法
- JavaScript检索和替换字符串化JSON中的字符串部分
- 如何在jquery中提取字符串部分并忽略数字
- URL'的查询字符串部分在用作按钮中的链接时被剪切
- 匹配字符串部分并检索非邻近数字正则表达式