HumHub Documentation (unofficial)

HTMLPurifier_Lexer_PH5P extends HTMLPurifier_Lexer_DOMLex
in package

Experimental HTML5-based parser using Jeroen van der Meer's PH5P library.

Occupies space in the HTML5 pseudo-namespace, which may cause conflicts.

Tags
note

Recent changes to PHP's DOM extension have resulted in some fatal error conditions with the original version of PH5P. Pending changes, this lexer will punt to DirectLex if DOM throws an exception.

Table of Contents

Properties

$tracksLineNumbers  : mixed
Whether or not this lexer implements line-number/column-number tracking.
$_special_entity2str  : mixed
Most common entity to raw value conversion table for special entities.
$_entity_parser  : mixed
$factory  : mixed

Methods

__construct()  : mixed
callbackArmorCommentEntities()  : string
Callback function that entity-izes ampersands in comments so that callbackUndoCommentSubst doesn't clobber them
callbackUndoCommentSubst()  : string
Callback function for undoing escaping of stray angled brackets in comments
create()  : HTMLPurifier_Lexer
Retrieves or sets the default Lexer as a Prototype Factory.
extractBody()  : mixed
Takes a string of HTML (fragment or document) and returns the content
muteErrorHandler()  : mixed
An error handler that mutes all errors
normalize()  : string
Takes a piece of HTML and normalizes it by converting entities, fixing encoding, extracting bits, and other good stuff.
parseAttr()  : mixed
parseData()  : string
Parses special entities into the proper characters.
parseText()  : mixed
tokenizeHTML()  : array<string|int, HTMLPurifier_Token>
Lexes an HTML string into tokens.
CDATACallback()  : string
Callback function for escapeCDATA() that does the work.
createEndNode()  : mixed
createStartNode()  : bool
escapeCDATA()  : string
Translates CDATA sections into regular sections (through escaping).
escapeCommentedCDATA()  : string
Special CDATA case that is especially convoluted for <script>
getData()  : mixed
Portably retrieve the data of a node; deals with older versions of libxml like 2.7.6
getTagName()  : mixed
Portably retrieve the tag name of a node; deals with older versions of libxml like 2.7.6
removeIEConditional()  : string
Special Internet Explorer conditional comments should be removed.
tokenizeDOM()  : mixed
Iterative function that tokenizes a node, putting it into an accumulator.
transformAttrToAssoc()  : array<string|int, mixed>
Converts a DOMNamedNodeMap of DOMAttr objects into an assoc array.
wrapHTML()  : string
Wraps an HTML fragment in the necessary HTML

Properties

$tracksLineNumbers

Whether or not this lexer implements line-number/column-number tracking.

public mixed $tracksLineNumbers = \false

If it does, set to true.

$_special_entity2str

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

protected mixed $_special_entity2str = array('&quot;' => '"', '&amp;' => '&', '&lt;' => '<', '&gt;' => '>', '&#39;' => "'", '&#039;' => "'", '&#x27;' => "'")
Tags
type

array

$_entity_parser

private mixed $_entity_parser
Tags
type

HTMLPurifier_EntityParser

$factory

private mixed $factory
Tags
type

HTMLPurifier_TokenFactory

Methods

__construct()

public __construct() : mixed

callbackArmorCommentEntities()

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

public callbackArmorCommentEntities(array<string|int, mixed> $matches) : string
Parameters
$matches : array<string|int, mixed>
Return values
string

callbackUndoCommentSubst()

Callback function for undoing escaping of stray angled brackets in comments

public callbackUndoCommentSubst(array<string|int, mixed> $matches) : string
Parameters
$matches : array<string|int, mixed>
Return values
string

create()

Retrieves or sets the default Lexer as a Prototype Factory.

public static create(HTMLPurifier_Config $config) : HTMLPurifier_Lexer

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

Parameters
$config : HTMLPurifier_Config
Tags
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.

throws
HTMLPurifier_Exception
Return values
HTMLPurifier_Lexer

extractBody()

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

public extractBody(mixed $html) : mixed
Parameters
$html : mixed
Tags
todo

Consider making protected

muteErrorHandler()

An error handler that mutes all errors

public muteErrorHandler(int $errno, string $errstr) : mixed
Parameters
$errno : int
$errstr : string

parseAttr()

public parseAttr(mixed $string, mixed $config) : mixed
Parameters
$string : mixed
$config : mixed

parseData()

Parses special entities into the proper characters.

public parseData(string $string, mixed $is_attr, mixed $config) : string

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

Parameters
$string : string

String character data to be parsed.

$is_attr : mixed
$config : mixed
Return values
string

Parsed character data.

parseText()

public parseText(mixed $string, mixed $config) : mixed
Parameters
$string : mixed
$config : mixed

CDATACallback()

Callback function for escapeCDATA() that does the work.

protected static CDATACallback(array<string|int, mixed> $matches) : string
Parameters
$matches : array<string|int, mixed>

PCRE matches array, with index 0 the entire match and 1 the inside of the CDATA section.

Tags
warning

Though this is public in order to let the callback happen, calling it directly is not recommended.

Return values
string

Escaped internals of the CDATA section.

createStartNode()

protected createStartNode(DOMNode $node, array<string|int, HTMLPurifier_Token&$tokens, bool $collect, mixed $config) : bool
Parameters
$node : DOMNode

DOMNode to be tokenized.

$tokens : array<string|int, HTMLPurifier_Token>

Array-list of already tokenized tokens.

$collect : bool

Says whether or start and close are collected, set to false at first recursion because it's the implicit DIV tag you're dealing with.

$config : mixed
Tags
todo

data and tagName properties don't seem to exist in DOMNode?

Return values
bool

if the token needs an endtoken

escapeCDATA()

Translates CDATA sections into regular sections (through escaping).

protected static escapeCDATA(string $string) : string
Parameters
$string : string

HTML string to process.

Return values
string

HTML with CDATA sections escaped.

escapeCommentedCDATA()

Special CDATA case that is especially convoluted for <script>

protected static escapeCommentedCDATA(string $string) : string
Parameters
$string : string

HTML string to process.

Return values
string

HTML with CDATA sections escaped.

getData()

Portably retrieve the data of a node; deals with older versions of libxml like 2.7.6

protected getData(DOMNode $node) : mixed
Parameters
$node : DOMNode

getTagName()

Portably retrieve the tag name of a node; deals with older versions of libxml like 2.7.6

protected getTagName(DOMNode $node) : mixed
Parameters
$node : DOMNode

removeIEConditional()

Special Internet Explorer conditional comments should be removed.

protected static removeIEConditional(string $string) : string
Parameters
$string : string

HTML string to process.

Return values
string

HTML with conditional comments removed.

tokenizeDOM()

Iterative function that tokenizes a node, putting it into an accumulator.

protected tokenizeDOM(DOMNode $node, array<string|int, HTMLPurifier_Token&$tokens, mixed $config) : mixed

To iterate is human, to recurse divine - L. Peter Deutsch

Parameters
$node : DOMNode

DOMNode to be tokenized.

$tokens : array<string|int, HTMLPurifier_Token>

Array-list of already tokenized tokens.

$config : mixed

transformAttrToAssoc()

Converts a DOMNamedNodeMap of DOMAttr objects into an assoc array.

protected transformAttrToAssoc(DOMNamedNodeMap $node_map) : array<string|int, mixed>
Parameters
$node_map : DOMNamedNodeMap

DOMNamedNodeMap of DOMAttr objects.

Return values
array<string|int, mixed>

Associative array of attributes.


        
On this page

Search results