码迷,mamicode.com
首页 > Web开发 > 详细

php中函数preg_match或preg_match_all 第三个参数$match的解释

时间:2016-04-14 12:04:02      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

理解自:http://www.cnblogs.com/vicenteforever/articles/1623137.html

php手册中是这样解释的

matches

如果提供了参数matches,它将被填充为搜索结果。 $matches[0]将包含完整模式匹配到的文本, $matches[1] 将包含第一个捕获子组匹配到的文本,以此类推

到底是什么意思呢?

$matchs[0]很好理解,就是整个$pattern 匹配的文本,

$matchs[1]包含第一个捕获子组匹配到的文本,

列子:

$pattern = ‘/^(http:\/\/)?([^\/]+)/i‘;
$subject = ‘http://www.php.net/index.html‘;
preg_match_all($pattern,$subject,$match);
var_dump($match);

输出

array (size=3)
  0 => 
    array (size=1)
      0 => string ‘http://www.php.net‘ (length=18)
  1 => 
    array (size=1)
      0 => string ‘http://‘ (length=7)
  2 => 
    array (size=1)
      0 => string ‘www.php.net‘ (length=11)

数组中第一个$matchs[0]就是整个$pattern匹配到的文本元素

$matchs[1] 匹配到的是子组 (http:\/\/) 匹配到的文本

$matchs[2] 匹配到的是子组(^\/+) 匹配到的文本

 

理解了么?

我是理解了

$matches[1] 将包含第一个捕获子组匹配到的文本。。。

就真的是第一个子组  也就是()中pattern匹配到的文本啊。。。。。。

php中函数preg_match或preg_match_all 第三个参数$match的解释

标签:

原文地址:http://www.cnblogs.com/tumio/p/5390268.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!