PHP:preg_match_all-是否要捕获偏移量并使用preg_SET_ORDER标志?

PHP:preg_match_all-是否要捕获偏移量并使用preg_SET_ORDER标志?,php,Php,我需要以比preg_Set_order更直观的方式分割匹配,同时仍然获得每个匹配的偏移量。有办法做到这一点吗 我需要捕获什么样的标签,不想对捕获进行后期处理。后面一片混乱 这将得到所有的标签和偏移量,但总是弹出一个3-dim阵列,这是多余的: preg_match_all('|(?<=<)[\/a-zA-Z]+|',$file,$matches,PREG_OFFSET_CAPTURE); preg_match_all(“|”(?|“,$file,$matches,preg_SET_

我需要以比preg_Set_order更直观的方式分割匹配,同时仍然获得每个匹配的偏移量。有办法做到这一点吗

我需要捕获什么样的标签,不想对捕获进行后期处理。后面一片混乱

这将得到所有的标签和偏移量,但总是弹出一个3-dim阵列,这是多余的:

preg_match_all('|(?<=<)[\/a-zA-Z]+|',$file,$matches,PREG_OFFSET_CAPTURE);
preg_match_all(“|”(?|“,$file,$matches,preg_SET_顺序)
所以我需要的是两者的结合:

preg_match_all('|<(\/*)([a-zA-Z]+)[^>]*>|',$file,$matches,PREG_SET_ORDER,PREG_OFFSET_CAPTURE)
preg_match_all(“|]*>|”,$file$matches,preg_SET_顺序,preg_OFFSET_捕获)

不确定您要找的是什么,但似乎您正在尝试使用PREG\u SET\u ORDER,同时仍然获得偏移量

如果是,只需将两个标志传递给preg_match_all:

preg_match_all($find, $string, $matches, PREG_SET_ORDER|PREG_OFFSET_CAPTURE);
var_dump($matches)

像这样的数字标志可以使用位或运算符|(垂直管道)组合。

我不知道你在问什么。请展示一些包含问题的示例代码。哈哈哈,这正是我想要的。我不知道如何传递多个标志。
preg_match_all($find, $string, $matches, PREG_SET_ORDER|PREG_OFFSET_CAPTURE);
var_dump($matches)