1: <?php
2:
3: /**
4: * Simple transformation, just change tag name to something else,
5: * and possibly add some styling. This will cover most of the deprecated
6: * tag cases.
7: */
8: class HTMLPurifier_TagTransform_Simple extends HTMLPurifier_TagTransform
9: {
10: /**
11: * @type string
12: */
13: protected $style;
14:
15: /**
16: * @param string $transform_to Tag name to transform to.
17: * @param string $style CSS style to add to the tag
18: */
19: public function __construct($transform_to, $style = null)
20: {
21: $this->transform_to = $transform_to;
22: $this->style = $style;
23: }
24:
25: /**
26: * @param HTMLPurifier_Token_Tag $tag
27: * @param HTMLPurifier_Config $config
28: * @param HTMLPurifier_Context $context
29: * @return string
30: */
31: public function transform($tag, $config, $context)
32: {
33: $new_tag = clone $tag;
34: $new_tag->name = $this->transform_to;
35: if (!is_null($this->style) &&
36: ($new_tag instanceof HTMLPurifier_Token_Start || $new_tag instanceof HTMLPurifier_Token_Empty)
37: ) {
38: $this->prependCSS($new_tag->attr, $this->style);
39: }
40: return $new_tag;
41: }
42: }
43:
44: // vim: et sw=4 sts=4
45: