PHP split to preg_split()
16,916
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);
Related videos on Youtube
Author by
Basit
Updated on June 04, 2022Comments
-
Basit almost 2 years
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 )
-
BoltClock about 13 years@RobertPitt:
split()
is an old, deprecated function that didn't use PCRE at all, but a different regex engine/syntax. -
lonesomedayWhy do you want to use
preg_split
?
-
-
Basit about 13 yearsthanks for the answer. i cant accept it, because its giving me massage, that i can accept after 2 mins.. but it work, thanks
-
Basit about 13 yearsbtw isnt preg_split is faster then explode?
-
mario about 13 years@Basit: Not usually. Explode does a simple binary search, and doesn't have to look for complex/optional patterns. Also it's implemented as core PHP function, thus can deal with PHP strings better and generate a PHP array directly. The preg_split() function is slower because it makes a roundtrip over libPCRE. -- So explode() is always faster. (Regular expression matching with preg_match() OTOH can often be more efficient than simple PHP string function arithmetics.)
-
Christian about 12 years@Basit Just think of the work regex has to do compared to simply splitting a string by a particular keyword, it's obvious
explode()
should be faster!