例如它可能是:<h1>Hello World</h1><p>Welcome to Javascript</p>
我想提取html标签(仅没有类名或属性的标签)到数组或列表,例如:
tags = ['<h1>', '</h1>', '<p>', </p>']
如何使用 JavaScript 实现这一点?
请注意,这应该在服务器上运行,因此我无法访问 DOM 等。
慕沐林林
浏览 171回答 3
3回答
动漫人物
const regex = /<\/?[\w\d]+>/gi;这应该得到带有开始和结束标签的标签,现在让我们看看它的工作原理:<只是起始尖括号\/是匹配文字反斜杠(如结束标签)?使反斜杠“可选”[\w\d]用于匹配字母数字字符+匹配更多字母数字字符>对于另一个尖括号标志:g匹配所有匹配项(呵呵)i不区分大小写(因为 HTML 不区分大小写)
您无法可靠地(或者可能根本无法)使用正则表达式解析任意 HTML。如果您在服务器上运行 JavaScript,那么您可能正在运行 Node.js。如果是这样,请为自己获取一个 HTML 解析器库,并使用它将 HTML 解析为 DOM 的表示形式。然后您可以可靠地从中提取所有标签。有许多可用的库可能适合。您可以尝试node-html-parser *,或在 Google 中搜索nodeJS HTML parser其他选项*(无隶属关系,不做推荐或其他)