文字列s、検索する文字列aがあり、一致するすべてのコンテンツと位置をすばやく見つける方法があるとします。実際、これらはすでに公式に利用可能です(マニュアルはまだよく見る必要があります)preg_match_all4番目のパラメーターはに渡されます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)
}
}
}