/var/www/vhosts/ihelp.ro/httpdocs/vendor/ezyang/htmlpurifier/library/HTMLPurifier
NameSizeModeActions
AttrDef/-0755rm
AttrTransform/-0755rm
ChildDef/-0755rm
ConfigSchema/-0755rm
DefinitionCache/-0755rm
EntityLookup/-0755rm
Filter/-0755rm
HTMLModule/-0755rm
Injector/-0755rm
Language/-0755rm
Lexer/-0755rm
Node/-0755rm
Printer/-0755rm
Strategy/-0755rm
TagTransform/-0755rm
Token/-0755rm
URIFilter/-0755rm
URIScheme/-0755rm
VarParser/-0755rm
Arborize.php25500644editdlrm
AttrCollections.php48620644editdlrm
AttrDef.php51950644editdlrm
AttrTransform.php19890644editdlrm
AttrTypes.php37580644editdlrm
AttrValidator.php65720644editdlrm
Bootstrap.php46130644editdlrm
ChildDef.php15590644editdlrm
Config.php317010644editdlrm
ConfigSchema.php59030644editdlrm
ContentSets.php56400644editdlrm
Context.php26340644editdlrm
CSSDefinition.php195930644editdlrm
Definition.php13610644editdlrm
DefinitionCache.php39130644editdlrm
DefinitionCacheFactory.php32010644editdlrm
Doctype.php15820644editdlrm
DoctypeRegistry.php42240644editdlrm
ElementDef.php75310644editdlrm
Encoder.php257930644editdlrm
EntityLookup.php14260644editdlrm
EntityParser.php99800644editdlrm
ErrorCollector.php76250644editdlrm
ErrorStruct.php18930644editdlrm
Exception.php1770644editdlrm
Filter.php16250644editdlrm
Generator.php102510644editdlrm
HTMLDefinition.php177470644editdlrm
HTMLModule.php101950644editdlrm
HTMLModuleManager.php159460644editdlrm
IDAccumulator.php16470644editdlrm
Injector.php90060644editdlrm
Language.php60620644editdlrm
LanguageFactory.php66180644editdlrm
Length.php38920644editdlrm
Lexer.php135350644editdlrm
Node.php12800644editdlrm
PercentEncoder.php35650644editdlrm
Printer.php58970644editdlrm
PropertyList.php27830644editdlrm
PropertyListIterator.php8940644editdlrm
Queue.php15510644editdlrm
Strategy.php7620644editdlrm
StringHash.php10990644editdlrm
StringHashParser.php36410644editdlrm
TagTransform.php10980644editdlrm
Token.php22250644editdlrm
TokenFactory.php30990644editdlrm
UnitConverter.php101300644editdlrm
URI.php105960644editdlrm
URIDefinition.php34300644editdlrm
URIFilter.php23650644editdlrm
URIParser.php22940644editdlrm
URIScheme.php34810644editdlrm
URISchemeRegistry.php24090644editdlrm
VarParser.php59900644editdlrm
VarParserException.php1570644editdlrm
Zipper.php44420644editdlrm
Edit: /var/www/vhosts/ihelp.ro/httpdocs/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer.php (13535B)
get('Core.LexerImpl'); } $needs_tracking = $config->get('Core.MaintainLineNumbers') || $config->get('Core.CollectErrors'); $inst = null; if (is_object($lexer)) { $inst = $lexer; } else { if (is_null($lexer)) { do { // auto-detection algorithm if ($needs_tracking) { $lexer = 'DirectLex'; break; } if (class_exists('DOMDocument', false) && method_exists('DOMDocument', 'loadHTML') && !extension_loaded('domxml') ) { // check for DOM support, because while it's part of the // core, it can be disabled compile time. Also, the PECL // domxml extension overrides the default DOM, and is evil // and nasty and we shan't bother to support it $lexer = 'DOMLex'; } else { $lexer = 'DirectLex'; } } while (0); } // do..while so we can break // instantiate recognized string names switch ($lexer) { case 'DOMLex': $inst = new HTMLPurifier_Lexer_DOMLex(); break; case 'DirectLex': $inst = new HTMLPurifier_Lexer_DirectLex(); break; case 'PH5P': $inst = new HTMLPurifier_Lexer_PH5P(); break; default: throw new HTMLPurifier_Exception( "Cannot instantiate unrecognized Lexer type " . htmlspecialchars($lexer) ); } } if (!$inst) { throw new HTMLPurifier_Exception('No lexer was instantiated'); } // once PHP DOM implements native line numbers, or we // hack out something using XSLT, remove this stipulation if ($needs_tracking && !$inst->tracksLineNumbers) { throw new HTMLPurifier_Exception( 'Cannot use lexer that does not support line numbers with ' . 'Core.MaintainLineNumbers or Core.CollectErrors (use DirectLex instead)' ); } return $inst; } // -- CONVENIENCE MEMBERS --------------------------------------------- public function __construct() { $this->_entity_parser = new HTMLPurifier_EntityParser(); } /** * Most common entity to raw value conversion table for special entities. * @type array */ protected $_special_entity2str = array( '"' => '"', '&' => '&', '<' => '<', '>' => '>', ''' => "'", ''' => "'", ''' => "'" ); public function parseText($string, $config) { return $this->parseData($string, false, $config); } public function parseAttr($string, $config) { return $this->parseData($string, true, $config); } /** * Parses special entities into the proper characters. * * This string will translate escaped versions of the special characters * into the correct ones. * * @param string $string String character data to be parsed. * @return string Parsed character data. */ public function parseData($string, $is_attr, $config) { // following functions require at least one character if ($string === '') { return ''; } // subtracts amps that cannot possibly be escaped $num_amp = substr_count($string, '&') - substr_count($string, '& ') - ($string[strlen($string) - 1] === '&' ? 1 : 0); if (!$num_amp) { return $string; } // abort if no entities $num_esc_amp = substr_count($string, '&'); $string = strtr($string, $this->_special_entity2str); // code duplication for sake of optimization, see above $num_amp_2 = substr_count($string, '&') - substr_count($string, '& ') - ($string[strlen($string) - 1] === '&' ? 1 : 0); if ($num_amp_2 <= $num_esc_amp) { return $string; } // hmm... now we have some uncommon entities. Use the callback. if ($config->get('Core.LegacyEntityDecoder')) { $string = $this->_entity_parser->substituteSpecialEntities($string); } else { if ($is_attr) { $string = $this->_entity_parser->substituteAttrEntities($string); } else { $string = $this->_entity_parser->substituteTextEntities($string); } } return $string; } /** * Lexes an HTML string into tokens. * @param $string String HTML. * @param HTMLPurifier_Config $config * @param HTMLPurifier_Context $context * @return HTMLPurifier_Token[] array representation of HTML. */ public function tokenizeHTML($string, $config, $context) { trigger_error('Call to abstract class', E_USER_ERROR); } /** * Translates CDATA sections into regular sections (through escaping). * @param string $string HTML string to process. * @return string HTML with CDATA sections escaped. */ protected static function escapeCDATA($string) { return preg_replace_callback( '//s', array('HTMLPurifier_Lexer', 'CDATACallback'), $string ); } /** * Special CDATA case that is especially convoluted for #i', '', $html); } return $html; } /** * Takes a string of HTML (fragment or document) and returns the content * @todo Consider making protected */ public function extractBody($html) { $matches = array(); $result = preg_match('|(.*?)]*>(.*)|is', $html, $matches); if ($result) { // Make sure it's not in a comment $comment_start = strrpos($matches[1], ''); if ($comment_start === false || ($comment_end !== false && $comment_end > $comment_start)) { return $matches[2]; } } return $html; } } // vim: et sw=4 sts=4