function _explodeQuotedString($delimiter, $string)
    {
        $result = array();
        $strlen = strlen($string);

        for ($q=$p=$i=0; $i < $strlen; $i++) {
            if ($string[$i] == "\""
                && (empty($string[$i-1]) || $string[$i-1] != "\\")
            ) {
                $q = $q ? false : true;
            } else if (!$q && preg_match("/$delimiter/", $string[$i])) {
                $result[] = substr($string, $p, $i - $p);
                $p = $i + 1;
            }
        }

        $result[] = substr($string, $p);
        return $result;
    }
function _explodeQuotedString($delimiter, $string)
    {
        $result = array();
        $strlen = strlen($string);

        for ($q=$p=$i=0; $i < $strlen; $i++) {
            if ($string[$i] == "\""
                && (empty($string[$i-1]) || $string[$i-1] != "\\")
            ) {
                $q = $q ? false : true;
            } else if (!$q && preg_match("/$delimiter/", $string[$i])) {
                $result[] = substr($string, $p, $i - $p);
                $p = $i + 1;
            }
        }

        $result[] = substr($string, $p);
        return $result;
    }
function _explodeQuotedString ( $ delimiter , $ string ) { $ result = array ( ) ; $ strlen = strlen ( $ string ) ; for ( $ q = $ p = $ i = 0 ; $ i < $ strlen ; $ i ++ ) { if ( $ string [ $ i ] == "\"" && ( empty ( $ string [ $ i - 1 ] ) || $ string [ $ i - 1 ] != "\\" ) ) { $ q = $ q ? false : true ; } else if ( ! $ q && preg_match ( "/$delimiter/" , $ string [ $ i ] ) ) { $ result [ ] = substr ( $ string , $ p , $ i - $ p ) ; $ p = $ i + 1 ; } } $ result [ ] = substr ( $ string , $ p ) ; return $ result ; }
Explode quoted string

@param string $delimiter Delimiter expression string for preg_match()
@param string $string    Input string

@return array            String tokens array
@access private
Explode quoted string