diff options
Diffstat (limited to 'lib/htmlpurifier/library/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php')
-rw-r--r-- | lib/htmlpurifier/library/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/lib/htmlpurifier/library/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php b/lib/htmlpurifier/library/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php deleted file mode 100644 index b21313470..000000000 --- a/lib/htmlpurifier/library/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php +++ /dev/null @@ -1,60 +0,0 @@ -<?php - -/** - * Injector that removes spans with no attributes - */ -class HTMLPurifier_Injector_RemoveSpansWithoutAttributes extends HTMLPurifier_Injector -{ - public $name = 'RemoveSpansWithoutAttributes'; - public $needed = array('span'); - - private $attrValidator; - - /** - * Used by AttrValidator - */ - private $config; - private $context; - - public function prepare($config, $context) { - $this->attrValidator = new HTMLPurifier_AttrValidator(); - $this->config = $config; - $this->context = $context; - return parent::prepare($config, $context); - } - - public function handleElement(&$token) { - if ($token->name !== 'span' || !$token instanceof HTMLPurifier_Token_Start) { - return; - } - - // We need to validate the attributes now since this doesn't normally - // happen until after MakeWellFormed. If all the attributes are removed - // the span needs to be removed too. - $this->attrValidator->validateToken($token, $this->config, $this->context); - $token->armor['ValidateAttributes'] = true; - - if (!empty($token->attr)) { - return; - } - - $nesting = 0; - $spanContentTokens = array(); - while ($this->forwardUntilEndToken($i, $current, $nesting)) {} - - if ($current instanceof HTMLPurifier_Token_End && $current->name === 'span') { - // Mark closing span tag for deletion - $current->markForDeletion = true; - // Delete open span tag - $token = false; - } - } - - public function handleEnd(&$token) { - if ($token->markForDeletion) { - $token = false; - } - } -} - -// vim: et sw=4 sts=4 |