Why preg_match() returns first match at index 1 (not 0) of returned array?(为什么preg_Match()在返回的数组的索引1(而不是0)处返回第一个匹配?)
问题描述
我正在使用卷曲功能的小型网站刮板。
我决定使用preg_match查找页眉和文章内容。 这是我的代码: 我正在试验它,我发现如果有一个匹配项,它会在索引1处的数组中返回它,而不是0。preg_match('@<h2 class="title">(.*?)</h2>@s', $this->website, $this->title);
if(sizeof($this->title) > 1)
$this->title = trim($this->title[1]); // rewrite first element of array to regular variable
我的服务器:Apache/2.4.3(Win32)PHP/5.4.7
推荐答案
PREG_MATCH的默认行为是返回结果数组中索引0处匹配的整个字符串,然后返回后续结果数组索引中匹配的每个子模式。如果没有匹配,则结果数组为空。如果有匹配项,您将获得匹配的完整字符串,然后是所有子模式。
这篇关于为什么preg_Match()在返回的数组的索引1(而不是0)处返回第一个匹配?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:为什么preg_Match()在返回的数组的索引1(而不是0)处返回第一个匹配?


基础教程推荐
- YouTube API v3 点赞视频,但计数器不增加 2022-01-01
- 如何在 Laravel 中使用 React Router? 2022-01-01
- 如何替换eregi() 2022-01-01
- Cron Jobs 调用带有变量的 PHP 脚本 2022-01-01
- 学说 dbal querybuilder 作为准备好的语句 2022-01-01
- 如何在 Laravel 5.3 注册中添加动态下拉列表列? 2021-01-01
- PHP 类:全局变量作为类中的属性 2021-01-01
- 在PHP中根据W3C规范Unicode 2022-01-01
- PHP PDO MySQL 查询 LIKE ->多个关键词 2021-01-01
- 有什么方法可以用编码 UTF-8 而不是 Unicode 返回 PHP`json_encode`? 2021-01-01