我正在使用cURL处理小型网站剪贴簿。
我决定使用preg_match来查找标题和文章内容。
这是我的代码:
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
我正在试验它,我发现,如果有一个匹配 - 它会在索引1的数组中返回它,而不是0。
编辑问题:为什么这是1,而不是0?我做错了什么?
我的服务器:Apache / 2.4.3(Win32)PHP / 5.4.7
答案 0 :(得分:3)
preg_match的默认行为是返回在索引0处的结果数组中匹配的整个字符串,然后返回后续结果数组索引中的每个匹配的子模式。如果没有匹配,则结果数组为空。如果某些内容匹配,则会获得匹配的完整字符串,然后是任何子模式。