我想编写一个程序,通过提供的 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 结构)
我不想从头开始写程序;相反,我想使用现有的库/模块。
如果有人能帮助我,我会很高兴。