我正在寻找一种优雅的解决方案来爆炸字符串,但将其反斜杠定界符保留在PHP中

时间:2019-11-28 10:14:42

标签: php regex explode preg-split

我希望有人可以帮助我找到这段代码的更优雅解决方案吗?

我目前对该问题的解决方案是:

$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

由于此问题未解决反斜杠如何在数组中获得其自身位置,请查看我希望实现的结果。

0 个答案:

没有答案