在给定位置检测上下文的 HTML 解析器

问题描述 投票:0回答:0

我想编写一个程序,通过提供的 HTML 和 HTML 中的字符位置,返回所提供位置所属的上下文。

例如,对于以下 HTML:

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Hello, world!</title>
</head>
<body>
  <h1 style="[1]">Hello, world!</h1>
  <p>hello [2] world</p>
  <script>
    var a = "hello[3]";
    [4]
  </script>
</body>
</html>

对于

[1]
表示的位置,程序将返回
html-attribute
,对于位置
[2]
-
html-content
,对于
[3]
-
script-string
,以及对于
[4]
-
script-other
.

启发我的是 C# 中的一个 XmlReader 类。

任何编程语言都适合我,尽管我更喜欢 Ruby。 我也希望程序高效(例如,避免创建 HTML 的完整繁重的 DOM 结构)

我不想从头开始写程序;相反,我想使用现有的库/模块。

如果有人能帮助我,我会很高兴。

python java node.js ruby html-parsing
© www.soinside.com 2019 - 2024. All rights reserved.