HTMLPurifier_Lexer_DOMLex Klassenreferenz

HTMLPurifier_Lexer_DOMLex Klassenreferenz
Klassendiagramm für HTMLPurifier_Lexer_DOMLex:
Zusammengehörigkeiten von HTMLPurifier_Lexer_DOMLex:

Öffentliche Methoden

 __construct ()
 
 tokenizeHTML ($html, $config, $context)
 
 muteErrorHandler ($errno, $errstr)
 
 callbackUndoCommentSubst ($matches)
 
 callbackArmorCommentEntities ($matches)
 
- Öffentliche Methoden geerbt von HTMLPurifier_Lexer
 __construct ()
 
 parseData ($string)
 
 tokenizeHTML ($string, $config, $context)
 
 normalize ($html, $config, $context)
 
 extractBody ($html)
 

Geschützte Methoden

 tokenizeDOM ($node, &$tokens)
 
 createStartNode ($node, &$tokens, $collect)
 
 createEndNode ($node, &$tokens)
 
 transformAttrToAssoc ($node_map)
 
 wrapHTML ($html, $config, $context)
 

Private Attribute

 $factory
 

Weitere Geerbte Elemente

- Öffentliche, statische Methoden geerbt von HTMLPurifier_Lexer
static create ($config)
 
- Datenfelder geerbt von HTMLPurifier_Lexer
 $tracksLineNumbers = false
 
- Geschützte, statische Methoden geerbt von HTMLPurifier_Lexer
static escapeCDATA ($string)
 
static escapeCommentedCDATA ($string)
 
static removeIEConditional ($string)
 
static CDATACallback ($matches)
 
- Geschützte Attribute geerbt von HTMLPurifier_Lexer
 $_special_entity2str
 

Ausführliche Beschreibung

Parser that uses PHP 5's DOM extension (part of the core).

In PHP 5, the DOM XML extension was revamped into DOM and added to the core. It gives us a forgiving HTML parser, which we use to transform the HTML into a DOM, and then into the tokens. It is blazingly fast (for large documents, it performs twenty times faster than HTMLPurifier_Lexer_DirectLex,and is the default choice for PHP 5.

Zu beachten
Any empty elements will have empty tokens associated with them, even if this is prohibited by the spec. This is cannot be fixed until the spec comes into play.
PHP's DOM extension does not actually parse any entities, we use our own function to do that.
Warnung
DOM tends to drop whitespace, which may wreak havoc on indenting. If this is a huge problem, due to the fact that HTML is hand edited and you are unable to get a parser cache that caches the the output of HTML Purifier while keeping the original HTML lying around, you may want to run Tidy on the resulting output or use HTMLPurifier_DirectLex

Definiert in Zeile 27 der Datei DOMLex.php.

Beschreibung der Konstruktoren und Destruktoren

__construct ( )

Definiert in Zeile 35 der Datei DOMLex.php.

Dokumentation der Elementfunktionen

callbackArmorCommentEntities (   $matches)

Callback function that entity-izes ampersands in comments so that callbackUndoCommentSubst doesn't clobber them

Parameter
array$matches
Rückgabe
string

Definiert in Zeile 244 der Datei DOMLex.php.

callbackUndoCommentSubst (   $matches)

Callback function for undoing escaping of stray angled brackets in comments

Parameter
array$matches
Rückgabe
string

Definiert in Zeile 233 der Datei DOMLex.php.

createEndNode (   $node,
$tokens 
)
protected
Parameter
DOMNode$node
HTMLPurifier_Token[]$tokens

Definiert in Zeile 191 der Datei DOMLex.php.

Wird benutzt von tokenizeDOM().

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

createStartNode (   $node,
$tokens,
  $collect 
)
protected
Parameter
DOMNode$nodeDOMNode to be tokenized.
HTMLPurifier_Token[]$tokens Array-list of already tokenized tokens.
bool$collectSays whether or start and close are collected, set to false at first recursion because it's the implicit DIV tag you're dealing with.
Rückgabe
bool if the token needs an endtoken
Noch zu erledigen:
data and tagName properties don't seem to exist in DOMNode?

Definiert in Zeile 131 der Datei DOMLex.php.

Benutzt HTMLPurifier_Lexer\parseData() und transformAttrToAssoc().

Wird benutzt von tokenizeDOM().

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

muteErrorHandler (   $errno,
  $errstr 
)

An error handler that mutes all errors

Parameter
int$errno
string$errstr

Definiert in Zeile 223 der Datei DOMLex.php.

tokenizeDOM (   $node,
$tokens 
)
protected

Iterative function that tokenizes a node, putting it into an accumulator. To iterate is human, to recurse divine - L. Peter Deutsch

Parameter
DOMNode$nodeDOMNode to be tokenized.
HTMLPurifier_Token[]$tokens Array-list of already tokenized tokens.
Rückgabe
HTMLPurifier_Token of node appended to previously passed tokens.

Definiert in Zeile 92 der Datei DOMLex.php.

Benutzt createEndNode() und createStartNode().

Wird benutzt von HTMLPurifier_Lexer_PH5P\tokenizeHTML() und tokenizeHTML().

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

tokenizeHTML (   $html,
  $config,
  $context 
)
Parameter
string$html
HTMLPurifier_Config$config
HTMLPurifier_Context$context
Rückgabe
HTMLPurifier_Token[]

Definiert in Zeile 48 der Datei DOMLex.php.

Benutzt HTMLPurifier_Lexer\normalize(), tokenizeDOM() und wrapHTML().

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

transformAttrToAssoc (   $node_map)
protected

Converts a DOMNamedNodeMap of DOMAttr objects into an assoc array.

Parameter
DOMNamedNodeMap$node_mapDOMNamedNodeMap of DOMAttr objects.
Rückgabe
array Associative array of attributes.

Definiert in Zeile 203 der Datei DOMLex.php.

Wird benutzt von createStartNode().

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

wrapHTML (   $html,
  $config,
  $context 
)
protected

Wraps an HTML fragment in the necessary HTML

Parameter
string$html
HTMLPurifier_Config$config
HTMLPurifier_Context$context
Rückgabe
string

Definiert in Zeile 256 der Datei DOMLex.php.

Wird benutzt von HTMLPurifier_Lexer_PH5P\tokenizeHTML() und tokenizeHTML().

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

Dokumentation der Datenelemente

$factory
private

HTMLPurifier_TokenFactory

Definiert in Zeile 33 der Datei DOMLex.php.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:




Korrekturen, Hinweise und Ergänzungen

Bitte scheuen Sie sich nicht und melden Sie, was auf dieser Seite sachlich falsch oder irreführend ist, was ergänzt werden sollte, was fehlt usw. Dazu bitte oben aus dem Menü Seite den Eintrag Support Forum wählen. Es ist eine kostenlose Anmeldung erforderlich, um Anmerkungen zu posten. Unpassende Postings, Spam usw. werden kommentarlos entfernt.