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)处返回第一个匹配?
基础教程推荐
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- 在多维数组中查找最大值 2021-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01