假设有个字符串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)
}
}
}