带有PREG_SPLIT_DELIM_CAPTURE标志的preg_split仍然会使用分隔符

时间:2014-06-29 06:20:29

标签: php

String $ uri:

/profile/asd/

我在字符串上运行:

$uri_arr = preg_split('/\//',$uri,-1,PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY);

结果:

Array ( [0] => profile [1] => asd )

我认为PREG_SPLIT_DELIM_CAPTURE应该保存/如果不是我会使用爆炸而不是......

1 个答案:

答案 0 :(得分:0)

要捕获分隔符,您仍需要将它们括在括号中:

preg_split('~(/)~', '/profile/asd/', -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY)

输出:

array(5) {
  [0]=>
  string(1) "/"
  [1]=>
  string(7) "profile"
  [2]=>
  string(1) "/"
  [3]=>
  string(3) "asd"
  [4]=>
  string(1) "/"
}