aboutsummaryrefslogtreecommitdiffstats
path: root/library/HTMLPurifier/TagTransform/Simple.php
diff options
context:
space:
mode:
Diffstat (limited to 'library/HTMLPurifier/TagTransform/Simple.php')
-rw-r--r--library/HTMLPurifier/TagTransform/Simple.php35
1 files changed, 35 insertions, 0 deletions
diff --git a/library/HTMLPurifier/TagTransform/Simple.php b/library/HTMLPurifier/TagTransform/Simple.php
new file mode 100644
index 000000000..0e36130f2
--- /dev/null
+++ b/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