Class HTMLPurifier_Lexer

SubclassesHTMLPurifier_Lexer_DOMLex, HTMLPurifier_Lexer_DirectLex, HTMLPurifier_Lexer_PH5P

Forgivingly lexes HTML (SGML-style) markup into tokens.

A lexer parses a string of SGML-style markup and converts them into corresponding tokens. It doesn't check for well-formedness, although its internal mechanism may make this automatic (such as the case of HTMLPurifier_Lexer_DOMLex). There are several implementations to choose from.

A lexer is HTML-oriented: it might work with XML, but it's not recommended, as we adhere to a subset of the specification for optimization reasons. This might change in the future. Also, most tokenizers are not expected to handle DTDs or PIs.

This class should not be directly instantiated, but you may use create() to retrieve a default copy of the lexer. Being a supertype, this class does not actually define any implementation, but offers commonly used convenience functions for subclasses.

Public Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
$tracksLineNumbers Whether or not this lexer implements line-number/column-number tracking. HTMLPurifier_Lexer

Protected Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
$_special_entity2str Most common entity to raw value conversion table for special entities. HTMLPurifier_Lexer

Public Methods

Hide inherited methods

MethodDescriptionDefined By
__construct() HTMLPurifier_Lexer
create() Retrieves or sets the default Lexer as a Prototype Factory. HTMLPurifier_Lexer
extractBody() Takes a string of HTML (fragment or document) and returns the content HTMLPurifier_Lexer
normalize() Takes a piece of HTML and normalizes it by converting entities, fixing encoding, extracting bits, and other good stuff. HTMLPurifier_Lexer
parseData() Parses special entities into the proper characters. HTMLPurifier_Lexer
tokenizeHTML() Lexes an HTML string into tokens. HTMLPurifier_Lexer

Protected Methods

Hide inherited methods

MethodDescriptionDefined By
CDATACallback() Callback function for escapeCDATA() that does the work. HTMLPurifier_Lexer
escapeCDATA() Translates CDATA sections into regular sections (through escaping). HTMLPurifier_Lexer
escapeCommentedCDATA() Special CDATA case that is especially convoluted for

Page generated on Mon, 05 Oct 2015 11:22:48 +0000

Powered by Yii Framework