我希望有人可以帮助我找到这段代码的更优雅解决方案吗?
我目前对该问题的解决方案是:
$file_pattern = 'test1\test2\test3 @ test.test';
$explode = explode('\\', $file_pattern);
$format_steps = [];
foreach($explode as $k_step => $v_step){
$format_steps[] = $v_step;
if(array_key_last($explode) !== $k_step){
$format_steps[] = "\\";
}
}
print_r($format_steps);
我得到的是我想要的:
Array (
[0] => test1
[1] => \
[2] => test2
[3] => \
[4] => test3 @ test.test
)
尽管如此,我觉得应该有一个更优雅的解决方案,例如:
$format_steps = preg_split('/\\\\/', $file_pattern, -1, PREG_SPLIT_DELIM_CAPTURE);
但这不起作用。
这不是
的副本https://stackoverflow.com/questions/11758465/how-do-i-include-the-split-delimiter-in-results-for-preg-split
由于此问题未解决反斜杠如何在数组中获得其自身位置,请查看我希望实现的结果。