java - Web 浏览器搜索是如何实现的?

标签 java html browser full-text-search

我想在桌面应用程序中用 java 搜索和突出显示 html 文件中的 多个 短语,就像在网络浏览器中完成的那样,所以 html 标签 (在 <> 内)被忽略 但有些标签如 <b>没有被忽视。搜索示例时 each table在文中...each <b>table</b> has name...将突出显示,但在文本中 ...has each</p><p> Table is...它不会突出显示,因为 <p>标签打断了文本的意思。
在网络浏览器中,这是以某种方式实现的,我怎样才能实现这个实现?或者网上有一些资源吗?我试过谷歌,但没有成功:(

最佳答案

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

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

您在问题中突出显示的示例将导致呈现的 HTML 输出中出现换行符,因此正常的字符串搜索算法将按照您的预期运行。

关于java - Web 浏览器搜索是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3708879/

相关文章:

jquery - 使用css自动调整背景图像

c# - 在 C#/.Net 中以编程方式模拟浏览器

java - 在 Firefox 上运行特定版本的 java

java - 无法将数据发送到另一个方法

java - 使用自定义比较器在 Java 中创建 SortedMap

java - 为什么我会收到 java.lang.StringIndexOutOfBoundsException?

java - 如何使用一个 gson 反序列化器反序列化具有泛型的不同子类型

html - 使视频成为全屏大小的 CSS

javascript - 悬停子元素时触发 HTML5 dragleave

ajax - 如何在通过 Ajax 提交之前在表单上使用浏览器验证?