0
0
mirror of https://github.com/ezyang/htmlpurifier.git synced 2024-11-15 09:38:40 +00:00
htmlpurifier/tests/HTMLPurifier/Strategy/MakeWellFormed/EndRewindInjector.php
Edward Z. Yang 8f401f769e Use a Zipper to process MakeWellFormed, removing quadratic behavior.
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
2013-10-13 13:21:02 -07:00

33 lines
807 B
PHP

<?php
class HTMLPurifier_Strategy_MakeWellFormed_EndRewindInjector extends HTMLPurifier_Injector
{
public $name = 'EndRewindInjector';
public $needed = array('span');
public function handleElement(&$token)
{
if (isset($token->_InjectorTest_EndRewindInjector_delete)) {
$token = false;
}
}
public function handleText(&$token)
{
$token = false;
}
public function handleEnd(&$token)
{
$i = null;
if (
$this->backward($i, $prev) &&
$prev instanceof HTMLPurifier_Token_Start &&
$prev->name == 'span'
) {
$token = false;
$prev->_InjectorTest_EndRewindInjector_delete = true;
$this->rewindOffset(1);
}
}
}
// vim: et sw=4 sts=4