如何将 split() 转换为 preg_split()?

问题描述 投票:0回答:1

我想将下面的 split 函数(我一直在使用它)转换为 preg_split.. 这有点令人困惑,因为该值会不时发生变化...

当前代码:

$root_dir = 'www';
$current_dir = 'D:/Projects/job.com/www/www/path/source';
$array = split('www', 'D:/Projects/job.com/www/www/path/source', 2);
print_r($array);

分割函数的输出:

Array ( [0] => D:/Projects/job.com/ [1] => /www/path/source )
php regex split preg-split
1个回答
21
投票

preg_split() 与旧的 ereg 函数 split() 类似。您只需将正则表达式括在

/.../
中,如下所示:

preg_split('/www/', 'D:/Projects/job.com/www/www/path/source', 2);

这里的括起来的斜杠

/
实际上是正则表达式语法的一部分,不是在字符串中搜索的。如果
www
分隔符是可变的,您还应该对内部部分使用 preg_quote() 。

但请注意,如果您只查找静态字符串,则不需要正则表达式。在这种情况下,您可以像之前使用 split() 一样使用

explode()

explode('www', 'D:/Projects/job.com/www/www/path/source', 2);
© www.soinside.com 2019 - 2024. All rights reserved.