php获取指定子字符串的所有位置以及匹配的内容, 非常简单实用

假设有个字符串s, 一个要寻找的字符串a, 要怎么样快速找出所有匹配的内容以及位置, 其实这些官方已经有了(手册还是要好好看看啊 ) preg_match_all第四个参数传入PREG_OFFSET_CAPTURE就会记录位置; 下面举个栗子

//加上了PREG_OFFSET_CAPTURE参数, 在匹配到内容的同时还会记录这个匹配到的位置
//如下例子所有出现的位置就上$m[0][1]和$m[1][1]的值
$r = preg_match_all('/a/', 'amazing', $m, PREG_OFFSET_CAPTURE);

if(empty($r)) {
   echo "匹配失败";
} else {
   var_dump($m);
}

输出结果: 
array(1) {
  [0] =>
  array(2) {
    [0] =>
    array(2) {
      [0] =>
      string(1) "a"
      [1] =>
      int(0)
    }
    [1] =>
    array(2) {
      [0] =>
      string(1) "a"
      [1] =>
      int(2)
    }
  }
}

猜你喜欢

转载自blog.csdn.net/weixin_37281289/article/details/103392524