代码之家  ›  专栏  ›  技术社区  ›  Zavael

web浏览器搜索是如何实现的?

  •  3
  • Zavael  · 技术社区  · 16 年前

    我想在桌面应用程序中实现java搜索和高亮显示 倍数 html格式 文件,就像在web浏览器中一样 html标记(在 < > )被忽略 但有些标签像 <b> 没有被忽视。例如搜索时 each table 在文本中 ...each <b>table</b> has name... 将突出显示,但在文本中 ...has each</p><p> Table is... 它不会突出显示,因为 <p> 标记中断了文本的含义。

    4 回复  |  直到 16 年前
        1
  •  2
  •   Faisal Feroz    16 年前

    浏览器不在实际的HTML文件中搜索,而是搜索该HTML的呈现输出。

    获取一个合适的HTML渲染器并将其输出为文本。然后使用适当的字符串搜索算法搜索文本输出。

        2
  •  1
  •   WoLfulus    14 年前

    正如Faisal所说,浏览器只在呈现的内容中搜索。为此,您需要在执行实际搜索之前删除HTML标记:

    http://www.dotnetperls.com/remove-html-tags

    当然,您需要添加一些检查/排除项,如脚本标记和其他未呈现到浏览器中的内容。

        3
  •  0
  •   babbitt    16 年前

    这看起来很简单。

    1) 搜索字符串中的最后一个单词。 2) 看看最后一个字之前是什么。 3) 决定最后一个词之前的内容是否构成中断( <p>, <br />, <div> 4) 如果中断, continue 5) Else

    我不知道这是否是浏览器执行此操作的方式,但这种方法应该有效。

        4
  •  0
  •   R. Rahul    16 年前