diff options
Diffstat (limited to 'it.class')
-rw-r--r-- | it.class | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -454,6 +454,20 @@ static function grep($pattern, $array, $p = array()) return $result; } + +/** + * Returns string split by pattern (like preg_split but utf8 and case insensitive) + * @param $pattern Regex to match against, no delimiters + * @param $subject String to split + * @param $p['limit'], $p['no_empty'], $p['delim_capture'], $p['offset_capture'] See preg_split() + */ +static function split($pattern, $subject, $p = array()) +{ + $flags = ($p['no_empty'] ? PREG_SPLIT_NO_EMPTY : 0) | ($p['delim_capture'] ? PREG_SPLIT_DELIM_CAPTURE : 0) | ($p['offset_capture'] ? PREG_SPLIT_OFFSET_CAPTURE : 0); + + return preg_split(it::convertregex($pattern, $p), $subject, $p['limit'] ?: -1, $flags); +} + /** * Convert string or array to utf8 if it was not already utf-8 before. Also handles double encoding * @param $value String or array to convert |