<?php

/**
 * Forgivingly lexes SGML style documents: HTML, XML, XHTML, etc.
 */

require_once 'HTMLPurifier/Token.php';

class HTMLPurifier_Lexer
{
    
    function tokenizeHTML($string) {
        trigger_error('Call to abstract class', E_USER_ERROR);
    }
    
    // we don't really care if it's a reference or a copy
    
    function create($prototype = null) {
        static $lexer = null;
        if ($prototype) {
            $lexer = $prototype;
        }
        if (empty($lexer)) {
            require_once 'HTMLPurifier/Lexer/DirectLex.php';
            $lexer = new HTMLPurifier_Lexer_DirectLex();
        }
        return $lexer;
    }
    
}

?>
<?php

/**
 * Forgivingly lexes SGML style documents: HTML, XML, XHTML, etc.
 */

require_once 'HTMLPurifier/Token.php';

class HTMLPurifier_Lexer
{
    
    function tokenizeHTML($string) {
        trigger_error('Call to abstract class', E_USER_ERROR);
    }
    
    // we don't really care if it's a reference or a copy
    
    function create($prototype = null) {
        static $lexer = null;
        if ($prototype) {
            $lexer = $prototype;
        }
        if (empty($lexer)) {
            if (version_compare(PHP_VERSION, '5', '>=')) {
                require_once 'HTMLPurifier/Lexer/DOMLex.php';
                $lexer = new HTMLPurifier_Lexer_DOMLex();
            } else {
                require_once 'HTMLPurifier/Lexer/DirectLex.php';
                $lexer = new HTMLPurifier_Lexer_DirectLex();
            }
        }
        return $lexer;
    }
    
}

?>
Make PHP5 lexer default DOMLex.
Make PHP5 lexer default DOMLex.

git-svn-id: 25f448894bd6eb0cddf10ded73b4f5a7ea3203f3@84 48356398-32a2-884e-a903-53898d9a118a
