diff options
Diffstat (limited to 'lib/htmlpurifier/library/HTMLPurifier/TagTransform/Simple.php')
-rwxr-xr-x | lib/htmlpurifier/library/HTMLPurifier/TagTransform/Simple.php | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/htmlpurifier/library/HTMLPurifier/TagTransform/Simple.php b/lib/htmlpurifier/library/HTMLPurifier/TagTransform/Simple.php new file mode 100755 index 000000000..0e36130f2 --- /dev/null +++ b/lib/htmlpurifier/library/HTMLPurifier/TagTransform/Simple.php @@ -0,0 +1,35 @@ +<?php + +/** + * Simple transformation, just change tag name to something else, + * and possibly add some styling. This will cover most of the deprecated + * tag cases. + */ +class HTMLPurifier_TagTransform_Simple extends HTMLPurifier_TagTransform +{ + + protected $style; + + /** + * @param $transform_to Tag name to transform to. + * @param $style CSS style to add to the tag + */ + public function __construct($transform_to, $style = null) { + $this->transform_to = $transform_to; + $this->style = $style; + } + + public function transform($tag, $config, $context) { + $new_tag = clone $tag; + $new_tag->name = $this->transform_to; + if (!is_null($this->style) && + ($new_tag instanceof HTMLPurifier_Token_Start || $new_tag instanceof HTMLPurifier_Token_Empty) + ) { + $this->prependCSS($new_tag->attr, $this->style); + } + return $new_tag; + } + +} + +// vim: et sw=4 sts=4 |