我想将下面的 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 )
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);