PHP split to preg_split()

Basit picture Basit · Jan 19, 2011 · Viewed 16.4k times · Source

I wanted to convert the following split function, which I have been using to preg_split.. it's a little confusing, because the value will change from time to time...

Current code:

$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);

Output of the split function:

Array ( [0] => D:/Projects/job.com/ [1] => /www/path/source )

Answer

mario picture mario · Jan 19, 2011

preg_split() is similar to the old ereg-function split(). You only have to enclose the regex in /.../ like so:

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

The enclosing slashes / here are really part of the regular expression syntax, not searched for in the string. If the www delimiter is variable, you should additionally use preg_quote() for the inner part.

But note that you don't need regular expressions if you only look for static strings anyway. In such cases you can use explode() pretty much like you used split() before:

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