mirror of
https://github.com/ezyang/htmlpurifier.git
synced 2024-11-14 01:08:41 +00:00
bfe474042f
This commit is a limited implementation of the "active formatting elements" algorithm implemented in HTML5, which preserves certain formatting elements such as <a> and <b> when exiting or entering nodes. Signed-off-by: Edward Z. Yang <edwardzyang@thewritingpot.com>
37 lines
1.3 KiB
PHP
37 lines
1.3 KiB
PHP
<?php
|
|
|
|
/**
|
|
* XHTML 1.1 Presentation Module, defines simple presentation-related
|
|
* markup. Text Extension Module.
|
|
* @note The official XML Schema and DTD specs further divide this into
|
|
* two modules:
|
|
* - Block Presentation (hr)
|
|
* - Inline Presentation (b, big, i, small, sub, sup, tt)
|
|
* We have chosen not to heed this distinction, as content_sets
|
|
* provides satisfactory disambiguation.
|
|
*/
|
|
class HTMLPurifier_HTMLModule_Presentation extends HTMLPurifier_HTMLModule
|
|
{
|
|
|
|
public $name = 'Presentation';
|
|
|
|
public function setup($config) {
|
|
$this->addElement('hr', 'Block', 'Empty', 'Common');
|
|
$this->addElement('sub', 'Inline', 'Inline', 'Common');
|
|
$this->addElement('sup', 'Inline', 'Inline', 'Common');
|
|
$b = $this->addElement('b', 'Inline', 'Inline', 'Common');
|
|
$b->formatting = true;
|
|
$big = $this->addElement('big', 'Inline', 'Inline', 'Common');
|
|
$big->formatting = true;
|
|
$i = $this->addElement('i', 'Inline', 'Inline', 'Common');
|
|
$i->formatting = true;
|
|
$small = $this->addElement('small', 'Inline', 'Inline', 'Common');
|
|
$small->formatting = true;
|
|
$tt = $this->addElement('tt', 'Inline', 'Inline', 'Common');
|
|
$tt->formatting = true;
|
|
}
|
|
|
|
}
|
|
|
|
// vim: et sw=4 sts=4
|