9

我想将我一直使用的以下拆分函数转换为 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 )
4

1 回答 1

21

preg_split() 类似于旧的 ereg 函数 split()。您只需要/.../像这样将正则表达式括起来:

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

这里封闭的斜线/实际上是正则表达式语法的一部分,不在字符串中搜索。如果www分隔符是可变的,则应另外使用 preg_quote() 作为内部部分。

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

explode('www', 'D:/Projects/job.com/www/www/path/source', 2);
于 2011-01-19T12:39:46.100 回答