public function minifyQuery($query)
    {
        $result = '';
        $keywords = array();
        $required = 1;

        // Check if we can match the query against any of the major types
        switch (true) {
            case stripos($query, 'SELECT') !== false:
                $keywords = array('SELECT', 'FROM', 'WHERE', 'HAVING', 'ORDER BY', 'LIMIT');
                $required = 2;
                break;

            case stripos($query, 'DELETE') !== false :
                $keywords = array('DELETE', 'FROM', 'WHERE', 'ORDER BY', 'LIMIT');
                $required = 2;
                break;

            case stripos($query, 'UPDATE') !== false :
                $keywords = array('UPDATE', 'SET', 'WHERE', 'ORDER BY', 'LIMIT');
                $required = 2;
                break;

            case stripos($query, 'INSERT') !== false :
                $keywords = array('INSERT', 'INTO', 'VALUE', 'VALUES');
                $required = 2;
                break;

            // If there's no match so far just truncate it to the maximum allowed by the interface
            default:
                $result = substr($query, 0, $this->maxCharWidth);
        }

        // If we had a match then we should minify it
        if ($result == '') {
            $result = $this->composeMiniQuery($query, $keywords, $required);
        }

        // Remove unneeded boilerplate HTML
        $result = str_replace(array("<pre style='background:white;'", "</pre>"), array("<span", "</span>"), $result);

        return $result;
    }
public function minifyQuery($query)
    {
        $result = '';
        $keywords = array();
        $required = 1;

        // Check if we can match the query against any of the major types
        switch (true) {
            case stripos($query, 'SELECT') !== false:
                $keywords = array('SELECT', 'FROM', 'WHERE', 'HAVING', 'ORDER BY', 'LIMIT');
                $required = 2;
                break;

            case stripos($query, 'DELETE') !== false :
                $keywords = array('DELETE', 'FROM', 'WHERE', 'ORDER BY', 'LIMIT');
                $required = 2;
                break;

            case stripos($query, 'UPDATE') !== false :
                $keywords = array('UPDATE', 'SET', 'WHERE', 'ORDER BY', 'LIMIT');
                $required = 2;
                break;

            case stripos($query, 'INSERT') !== false :
                $keywords = array('INSERT', 'INTO', 'VALUE', 'VALUES');
                $required = 2;
                break;

            // If there's no match so far just truncate it to the maximum allowed by the interface
            default:
                $result = substr($query, 0, $this->maxCharWidth);
        }

        // If we had a match then we should minify it
        if ($result == '') {
            $result = $this->composeMiniQuery($query, $keywords, $required);
        }

        // Remove unneeded boilerplate HTML
        $result = str_replace(array("<pre style='background:white;'", "</pre>"), array("<span", "</span>"), $result);

        return $result;
    }
public function minifyQuery ( $ query ) { $ result = '' ; $ keywords = array ( ) ; $ required = 1 ; // Check if we can match the query against any of the major types switch ( true ) { case stripos ( $ query , 'SELECT' ) !== false : $ keywords = array ( 'SELECT' , 'FROM' , 'WHERE' , 'HAVING' , 'ORDER BY' , 'LIMIT' ) ; $ required = 2 ; break ; case stripos ( $ query , 'DELETE' ) !== false : $ keywords = array ( 'DELETE' , 'FROM' , 'WHERE' , 'ORDER BY' , 'LIMIT' ) ; $ required = 2 ; break ; case stripos ( $ query , 'UPDATE' ) !== false : $ keywords = array ( 'UPDATE' , 'SET' , 'WHERE' , 'ORDER BY' , 'LIMIT' ) ; $ required = 2 ; break ; case stripos ( $ query , 'INSERT' ) !== false : $ keywords = array ( 'INSERT' , 'INTO' , 'VALUE' , 'VALUES' ) ; $ required = 2 ; break ; // If there's no match so far just truncate it to the maximum allowed by the interface default : $ result = substr ( $ query , 0 , $ this -> maxCharWidth ) ; } // If we had a match then we should minify it if ( $ result == '' ) { $ result = $ this -> composeMiniQuery ( $ query , $ keywords , $ required ) ; } // Remove unneeded boilerplate HTML $ result = str_replace ( array ( "<pre style='background:white;'" , "</pre>" ) , array ( "<span" , "</span>" ) , $ result ) ; return $ result ; }
Minify the query

@param string $query

@return string
Minify the query