71bf10b91f2668d2b7e38a216214d5b3265929da
[yaffs-website] / vendor / ezyang / htmlpurifier / library / HTMLPurifier / TagTransform / Simple.php
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