config = $config ? $config : HTMLPurifier_Config::createDefault(); $this->lexer = HTMLPurifier_Lexer::create(); $this->strategy = new HTMLPurifier_Strategy_Core(); $this->generator = new HTMLPurifier_Generator(); $this->encoder = new HTMLPurifier_Encoder(); } /** * Filters an HTML snippet/document to be XSS-free and standards-compliant. * * @param $html String of HTML to purify * @param $config HTMLPurifier_Config object for this operation, if omitted, * defaults to the config object specified during this * object's construction. * @return Purified HTML */ function purify($html, $config = null) { $config = $config ? $config : $this->config; $html = $this->encoder->convertToUTF8($html, $config); $html = $this->generator->generateFromTokens( $this->strategy->execute( $this->lexer->tokenizeHTML($html, $config), $config ), $config ); $html = $this->encoder->convertFromUTF8($html, $config); return $html; } } ?>