MediaWiki  REL1_22
HtmlFormatter Class Reference

List of all members.

Public Member Functions

 __construct ($html)
 Constructor.
 filterContent ()
 Removes content we've chosen to remove.
 flatten ($elements)
 Adds one or more element name to the list to flatten (remove tag, but not its content) Can accept undelimited regexes.
 flattenAllTags ()
 Instructs the formatter to flatten all tags.
 getDoc ()
 getText ($element=null)
 Performs final transformations and returns resulting HTML.
 remove ($selectors)
 Adds one or more selector of content to remove.
 setRemoveMedia ($flag=true)
 Sets whether images/videos/sounds should be removed from output.

Static Public Member Functions

static wrapHTML ($html)
 Turns a chunk of HTML into a proper document.

Protected Member Functions

 onHtmlReady ($html)
 Override this in descendant class to modify HTML after it has been converted from DOM tree.
 parseItemsToRemove ()
 Transforms CSS selectors into an internal representation suitable for processing.
 parseSelector ($selector, &$type, &$rawName)

Protected Attributes

 $removeMedia = false

Private Member Functions

 fixLibXML ($html)
 libxml in its usual pointlessness converts many chars to entities - this function perfoms a reverse conversion
 removeElements ($elements)
 Removes a list of elelments from DOMDocument.

Private Attributes

DOMDocument $doc
 $elementsToFlatten = array()
 $html
 $itemsToRemove = array()

Detailed Description

Definition at line 23 of file HtmlFormatter.php.


Constructor & Destructor Documentation

Constructor.

Parameters:
string$html,:Text to process

Definition at line 38 of file HtmlFormatter.php.


Member Function Documentation

Removes content we've chosen to remove.

Definition at line 132 of file HtmlFormatter.php.

HtmlFormatter::fixLibXML ( html) [private]

libxml in its usual pointlessness converts many chars to entities - this function perfoms a reverse conversion

Parameters:
string$html
Returns:
string

Definition at line 227 of file HtmlFormatter.php.

HtmlFormatter::flatten ( elements)

Adds one or more element name to the list to flatten (remove tag, but not its content) Can accept undelimited regexes.

Note this interface may fail in surprising unexpected ways due to usage of regexes, so should not be relied on for HTML markup security measures.

Parameters:
Array | string$elements,:Name(s) of tag(s) to flatten

Definition at line 118 of file HtmlFormatter.php.

Instructs the formatter to flatten all tags.

Definition at line 125 of file HtmlFormatter.php.

Returns:
DOMDocument: DOM to manipulate

Definition at line 63 of file HtmlFormatter.php.

HtmlFormatter::getText ( element = null)

Performs final transformations and returns resulting HTML.

Parameters:
DOMElement | string | null$element,:ID of element to get HTML from or false to get it from the whole tree
Returns:
string: Processed HTML

Definition at line 252 of file HtmlFormatter.php.

HtmlFormatter::onHtmlReady ( html) [protected]

Override this in descendant class to modify HTML after it has been converted from DOM tree.

Parameters:
string$html,:HTML to process
Returns:
string: Processed HTML

Definition at line 56 of file HtmlFormatter.php.

Transforms CSS selectors into an internal representation suitable for processing.

Returns:
array

Definition at line 329 of file HtmlFormatter.php.

HtmlFormatter::parseSelector ( selector,
&$  type,
&$  rawName 
) [protected]
Parameters:
$selector,:CSS selector to parse
$type
$rawName
Returns:
bool: Whether the selector was successfully recognised

Definition at line 301 of file HtmlFormatter.php.

HtmlFormatter::remove ( selectors)

Adds one or more selector of content to remove.

A subset of CSS selector syntax is supported:

<tag> <tag>.class .<class> #<id>

Parameters:
Array | string$selectors,:Selector(s) of stuff to remove

Definition at line 105 of file HtmlFormatter.php.

HtmlFormatter::removeElements ( elements) [private]

Removes a list of elelments from DOMDocument.

Parameters:
array | DOMNodeList$elements

Definition at line 205 of file HtmlFormatter.php.

Sets whether images/videos/sounds should be removed from output.

Parameters:
bool$flag

Definition at line 90 of file HtmlFormatter.php.

static HtmlFormatter::wrapHTML ( html) [static]

Turns a chunk of HTML into a proper document.

Parameters:
string$html
Returns:
string

Definition at line 47 of file HtmlFormatter.php.

Referenced by HtmlFormatterTest\testTransform().


Member Data Documentation

DOMDocument HtmlFormatter::$doc [private]

Definition at line 26 of file HtmlFormatter.php.

HtmlFormatter::$elementsToFlatten = array() [private]

Definition at line 30 of file HtmlFormatter.php.

HtmlFormatter::$html [private]

Definition at line 28 of file HtmlFormatter.php.

HtmlFormatter::$itemsToRemove = array() [private]

Definition at line 29 of file HtmlFormatter.php.

HtmlFormatter::$removeMedia = false [protected]

Definition at line 31 of file HtmlFormatter.php.


The documentation for this class was generated from the following file: