Node.js无需第三方HTML解析包读取HTML内容拆分存入对象的方法
可以实现,不需要依赖第三方HTML解析包,根据你的HTML结构固定程度,可以选择以下两种方案:
方案1:按行拆分(适用结构严格固定的场景)
如果你的index.html文件里只有两行目标span代码,没有多余内容,直接按换行符拆分内容即可:
const fs = require('fs') // 读取文件内容 const content = fs.readFileSync('/index.html').toString() // 按换行拆分,去除每行首尾空白,过滤空行 const validLines = content.split('\n') .map(line => line.trim()) .filter(line => !!line) // 组装目标对象 const html = { greeting: validLines[0], name: validLines[1] }
方案2:正则匹配(适用结构更灵活的场景)
如果HTML文件里存在多余的空白、空行或者其他非目标内容,可以用正则提取所有完整的span标签片段:
const fs = require('fs') const content = fs.readFileSync('/index.html').toString() // 匹配所有<span>到</span>的完整片段,非贪婪匹配避免多标签匹配错误 const spanMatchReg = /<span>.*?<\/span>/g const matchedSpans = content.match(spanMatchReg) || [] const html = { greeting: matchedSpans[0], name: matchedSpans[1] }
注意事项
- 两种方案都仅使用Node.js原生API,无任何外部依赖
- 如果后续HTML结构调整,只需要对应调整拆分规则或者正则表达式即可,灵活度高
内容的提问来源于stack exchange,提问作者Ishimura_Hideo
相关产品推荐
相关产品推荐

