0)){ if (isset($lines[$i][0]) && $lines[$i][0] != "#"){ $output .= $lines[$i] . "\n"; }else{ $output .= "\n"; } // Trading a bit of speed for lower mem. use here. $lines[$i] = ""; } } return $output; } function split_sql_file($sql, $delimiter){ // Split up our string into "possible" SQL statements. $tokens = explode($delimiter, $sql); // try to save mem. $sql = ""; $output = array(); // we don't actually care about the matches preg gives us. $matches = array(); // this is faster than calling count($oktens) every time thru the loop. $token_count = count($tokens); for ($i = 0; $i < $token_count; $i++){ // Don't wanna add an empty string as the last thing in the array. if(($i != ($token_count - 1)) || (strlen($tokens[$i] > 0))){ // This is the total number of single quotes in the token. $total_quotes = preg_match_all("/'/", $tokens[$i], $matches); // Counts single quotes that are preceded by an odd number of backslashes, // which means they're escaped quotes. $escaped_quotes = preg_match_all("/(?