php用正则表达抓取网页中文章(正则表达式就是描述字符排列模式的一种自定义的语法规则名)

优采云 发布时间: 2022-04-10 11:31

  php用正则表达抓取网页中文章(正则表达式就是描述字符排列模式的一种自定义的语法规则名)

  第一次接触正则表达式的网友会觉得有点繁琐,会有一种深不可测的感觉。实际上,正则表达式是描述字符排列模式的自定义语法规则名称。在 PHP 提供的系统函数中,该模式用于执行字符串的匹配、查找、替换和分割等操作。它的应用非常广泛。例如,常用正则表达式来验证用户在表单中提交的用户名、密码、邮箱地址、*敏*感*词*号甚至电话号码是否合法;当用户发布文章时,会在有URL的地方添加所有对应的链接;根据所有标点符号计算文章中的句子总数;抓取网页中某种格式的数据等。正则表达式不是PHP自己的产物,在很多领域都会看到它的应用。除了 Perl、C#、Java 语言的应用外,在我们的 B/S 架构软件开发中,正则表达式可以应用于 Linux 操作系统、前端 JavaScript 脚本、后台脚本 PHP 和 MySQL 数据库。

  正则表达式也称为模式表达式,具有非常完整的可以编写模式的语法系统,并提供了一种灵活直观的字符处理方法。正则表达式用于通过构造具有特定模式的模式,将其与输入字符串信息进行比较,并在特定函数中使用来匹配、查找、替换和划分字符串。下面给出的三种模式是根据正则表达式的语法规则构造的。代码显示如下:

  "/[a-zA-z]+:[∧\s]*/" //正则表达式匹配网址

  "/<(\s*?)[∧>]*>.*?<∧1>|<.*?/>/i" //正则表达式匹配HTML标签

  "∧w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/" //正则表达式匹配邮箱模式

  不要被上面例子中的乱码吓到,它们是按照正则表达式的语法规则构造的模式,是由普通字符和特殊字符组成的字符串。并且仅在特定的正则表达式函数中使用这些模式字符串才有效。学完本章,你就可以自由地应用这样的代码了。PHP 支持两组正则表达式处理函数库。PCRE(Perl Compatible Regular Expression)库提供的一组正则表达式函数,与Perl语言兼容,使用以preg前缀命名的函数,表达式应收录在分隔符中,如斜杠(/)。另一个是正则表达式函数,其语法由 POSLX(*敏*感*词*操作系统接口)扩展,使用前缀为“preg_”的函数。两组函数的功能基本相似,但执行效率略有不同。一般来说,要实现同样的功能,PCRE库提供的正则表达式效率会稍微高一些。因此,本文主要介绍以“preg_”为前缀的正则表达式函数。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线