public static function trimsplit($strPattern, $strString)
{
$strKey = md5($strPattern . $strString);
// Load from cache
if (isset(static::$arrSplitCache[$strKey])) {
return static::$arrSplitCache[$strKey];
}
// Split
if (strlen($strPattern) == 1) {
$arrFragments = array_map('trim', explode($strPattern, $strString));
} else {
$arrFragments = array_map('trim', preg_split('/' . $strPattern . '/ui', $strString));
}
// Empty array
if (count($arrFragments) < 2 && !strlen($arrFragments[0])) {
$arrFragments = array();
}
static::$arrSplitCache[$strKey] = $arrFragments;
return $arrFragments;
}