XOOPS API 2.5.11 Beta1  UI v0.5
Réalisé par monxoops.fr
Référence de la classe HTMLPurifier_Lexer
+ Graphe d'héritage de HTMLPurifier_Lexer:

Fonctions membres publiques

 __construct ()
 
 parseText ($string, $config)
 
 parseAttr ($string, $config)
 
 parseData ($string, $is_attr, $config)
 
 tokenizeHTML ($string, $config, $context)
 
 normalize ($html, $config, $context)
 
 extractBody ($html)
 

Fonctions membres publiques statiques

static create ($config)
 

Champs de données

 $tracksLineNumbers = false
 

Fonctions membres protégées statiques

static escapeCDATA ($string)
 
static escapeCommentedCDATA ($string)
 
static removeIEConditional ($string)
 
static CDATACallback ($matches)
 

Attributs protégés

 $_special_entity2str
 

Description détaillée

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.

Note
The unit tests will instantiate this class for testing purposes, as many of the utility functions require a class to be instantiated. This means that, even though this class is not runnable, it will not be declared abstract.
Note
We use tokens rather than create a DOM representation because DOM would:
  1. Require more processing and memory to create,
  2. Is not streamable, and
  3. Has the entire document structure (html and body not needed).
However, DOM is helpful in that it makes it easy to move around nodes without a lot of lookaheads to see when a tag is closed. This is a limitation of the token system and some workarounds would be nice.

Documentation des constructeurs et destructeur

◆ __construct()

__construct ( )

Réimplémentée dans HTMLPurifier_Lexer_DOMLex.

Documentation des fonctions membres

◆ CDATACallback()

static CDATACallback (   $matches)
staticprotected

Callback function for escapeCDATA() that does the work.

Avertissement
Though this is public in order to let the callback happen, calling it directly is not recommended.
Paramètres
array$matchesPCRE matches array, with index 0 the entire match and 1 the inside of the CDATA section.
Renvoie
string Escaped internals of the CDATA section.

◆ create()

static create (   $config)
static

Retrieves or sets the default Lexer as a Prototype Factory.

By default HTMLPurifier_Lexer_DOMLex will be returned. There are a few exceptions involving special features that only DirectLex implements.

Note
The behavior of this class has changed, rather than accepting a prototype object, it now accepts a configuration object. To specify your own prototype, set Core.LexerImpl to it. This change in behavior de-singletonizes the lexer object.
Paramètres
HTMLPurifier_Config$config
Renvoie
HTMLPurifier_Lexer
Exceptions
HTMLPurifier_Exception
+ Voici le graphe des appelants de cette fonction :

◆ escapeCDATA()

static escapeCDATA (   $string)
staticprotected

Translates CDATA sections into regular sections (through escaping).

Paramètres
string$stringHTML string to process.
Renvoie
string HTML with CDATA sections escaped.
+ Voici le graphe des appelants de cette fonction :

◆ escapeCommentedCDATA()

static escapeCommentedCDATA (   $string)
staticprotected

Special CDATA case that is especially convoluted for <script>

Paramètres
string$stringHTML string to process.
Renvoie
string HTML with CDATA sections escaped.
+ Voici le graphe des appelants de cette fonction :

◆ extractBody()

extractBody (   $html)

Takes a string of HTML (fragment or document) and returns the content

A faire:
Consider making protected
+ Voici le graphe des appelants de cette fonction :

◆ normalize()

normalize (   $html,
  $config,
  $context 
)

Takes a piece of HTML and normalizes it by converting entities, fixing encoding, extracting bits, and other good stuff.

Paramètres
string$htmlHTML.
HTMLPurifier_Config$config
HTMLPurifier_Context$context
Renvoie
string
A faire:
Consider making protected
+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ parseAttr()

parseAttr (   $string,
  $config 
)
+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ parseData()

parseData (   $string,
  $is_attr,
  $config 
)

Parses special entities into the proper characters.

This string will translate escaped versions of the special characters into the correct ones.

Paramètres
string$stringString character data to be parsed.
Renvoie
string Parsed character data.
+ Voici le graphe des appelants de cette fonction :

◆ parseText()

parseText (   $string,
  $config 
)
+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ removeIEConditional()

static removeIEConditional (   $string)
staticprotected

Special Internet Explorer conditional comments should be removed.

Paramètres
string$stringHTML string to process.
Renvoie
string HTML with conditional comments removed.
+ Voici le graphe des appelants de cette fonction :

◆ tokenizeHTML()

tokenizeHTML (   $string,
  $config,
  $context 
)

Lexes an HTML string into tokens.

Paramètres
$stringString HTML.
HTMLPurifier_Config$config
HTMLPurifier_Context$context
Renvoie
HTMLPurifier_Token[] array representation of HTML.

Réimplémentée dans HTMLPurifier_Lexer_DOMLex, HTMLPurifier_Lexer_DirectLex, et HTMLPurifier_Lexer_PH5P.

Documentation des champs

◆ $_special_entity2str

$_special_entity2str
protected
Valeur initiale :
=
array(
'&quot;' => '"',
'&amp;' => '&',
'&lt;' => '<',
'&gt;' => '>',
'&#39;' => "'",
'&#039;' => "'",
'&#x27;' => "'"
)

Most common entity to raw value conversion table for special entities. @type array

◆ $tracksLineNumbers

$tracksLineNumbers = false

Whether or not this lexer implements line-number/column-number tracking. If it does, set to true.


La documentation de cette classe a été générée à partir du fichier suivant :