首页 » Web前端 » php正则表达式html标签技巧_若何解析html标签内容手写正则表达式htmlparser模块帮你解决

php正则表达式html标签技巧_若何解析html标签内容手写正则表达式htmlparser模块帮你解决

访客 2024-10-30 0

扫一扫用手机浏览

文章目录 [+]

举一个大略的运用处景:假设有一天领导须要你网络一下线上页面已存在的静态资源链接(js、css、img),你们的页面很多,而且每个页面的代码量很大(比如上万行),这种情形下你总不能人肉去搜索,那么此时htmlparser这个模块就可以派上用场了。

大略利用

安装命令

php正则表达式html标签技巧_若何解析html标签内容手写正则表达式htmlparser模块帮你解决

npm install htmlparser

图1

php正则表达式html标签技巧_若何解析html标签内容手写正则表达式htmlparser模块帮你解决
(图片来自网络侵删)

图1中我们利用htmlparser模块解析一个i.html文件,其内容如下:

图2

解析结果如下:

图3

图3所示是个工具(此处序列化了便于显示),遍历这个工具就可以办理本文开头所说的问题,这个模块的用法非常的大略。

事理剖析

回到图1,htmlparser模块给我供应了一个Parser布局函数,这个布局函数是初始化的入口!
它大概长这个样子:

function Parser(handler) { this._handler = handler;}

Parser接管一个参数handler,这个handler必须是一个工具,这个工具必须定义以下几个方法:

reset方法紧张做一些重置事情;done方法完成解析后调用,此处可以实行自定义回调函数;writeTag方法处理tag标签;writeText方法处理纯文本信息writeComment方法处理注释信息;writeDirective方法处理<!...>这样的标签信息,比如<!DOCTYPE html>。

图1中我们利用的是模块内部供应的DefaultHandler,我们当然也可以自己定义handler。
用别人的handler有时并不能完备知足自己的业务场景,那么我们操作一把,代码如下:

图4

图4中我们自定义一个handler——CustomHandler,我们先运行一下看看各个方法都输出了什么?

图5

图5中CustomHandler的各个方法按照原始字符串的顺序依次打印出了每个解析结果,这些解析结果是parser工具为我们自动天生的,解析的事理便是正则匹配。
我们可以在自定义handler的各个函数方法中做一些分外处理,然后把终极的结果通过done函数输出出去。

图4中的parseComplete方法也可以用以下逻辑代替,

parser.reset();parser.parseChunk(html);parser.done();

这个模块除了可以在node环境中利用,它同时也可以在浏览器中利用,用法如下:

图6

图7

把稳,如果在浏览器中利用,模块的所有API都挂在了Tautologistics.NodeHtmlParser这个工具上,其它用法同等。

总结

须要我们去解析html内容的场景非常多,之前我们更多的是利用自己写的正则表达式去做,麻烦并且随意马虎出错。
现在我们理解了htmlparser模块,往后就可以直策应用它去办理问题。

标签:

相关文章

房山第一探寻历史文化名区的魅力与发展

房山区,位于北京市西南部,历史悠久,文化底蕴深厚。作为北京市的一个重要组成部分,房山区的发展始终与首都的发展紧密相连。房山区积极推...

Web前端 2025-02-18 阅读1 评论0

手机话费开钻代码数字时代的便捷生活

我们的生活越来越离不开手机。手机话费作为手机使用过程中的重要组成部分,其充值方式也在不断创新。手机话费开钻代码应运而生,为用户提供...

Web前端 2025-02-18 阅读1 评论0

探寻专业奥秘如何查询自己专业的代码

计算机科学已成为当今社会不可或缺的一部分。掌握一门专业代码对于个人发展具有重要意义。面对繁杂的学科体系,如何查询自己专业的代码成为...

Web前端 2025-02-18 阅读1 评论0