⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tagtransform.php

📁 基于Php和Mysql的项目管理软件
💻 PHP
字号:
<?phprequire_once('HTMLPurifier/Token.php');/** * Defines a mutation of an obsolete tag into a valid tag. */class HTMLPurifier_TagTransform{        /**     * Tag name to transform the tag to.     * @public     */    var $transform_to;        /**     * Transforms the obsolete tag into the valid tag.     * @param $tag Tag to be transformed.     * @param $config Mandatory HTMLPurifier_Config object     * @param $context Mandatory HTMLPurifier_Context object     */    function transform($tag, $config, &$context) {        trigger_error('Call to abstract function', E_USER_ERROR);    }    }/** * Simple transformation, just change tag name to something else. */class HTMLPurifier_TagTransform_Simple extends HTMLPurifier_TagTransform{        /**     * @param $transform_to Tag name to transform to.     */    function HTMLPurifier_TagTransform_Simple($transform_to) {        $this->transform_to = $transform_to;    }        function transform($tag, $config, &$context) {        $new_tag = $tag->copy();        $new_tag->name = $this->transform_to;        return $new_tag;    }    }/** * Transforms CENTER tags into proper version (DIV with text-align CSS) *  * Takes a CENTER tag, parses the align attribute, and then if it's valid * assigns it to the CSS property text-align. */class HTMLPurifier_TagTransform_Center extends HTMLPurifier_TagTransform{    var $transform_to = 'div';        function transform($tag, $config, &$context) {        if ($tag->type == 'end') {            $new_tag = new HTMLPurifier_Token_End($this->transform_to);            return $new_tag;        }        $attr = $tag->attr;        $prepend_css = 'text-align:center;';        if (isset($attr['style'])) {            $attr['style'] = $prepend_css . $attr['style'];        } else {            $attr['style'] = $prepend_css;        }        $new_tag = $tag->copy();        $new_tag->name = $this->transform_to;        $new_tag->attr = $attr;        return $new_tag;    }}/** * Transforms FONT tags to the proper form (SPAN with CSS styling) *  * This transformation takes the three proprietary attributes of FONT and * transforms them into their corresponding CSS attributes.  These are color, * face, and size. *  * @note Size is an interesting case because it doesn't map cleanly to CSS. *       Thanks to *       http://style.cleverchimp.com/font_size_intervals/altintervals.html *       for reasonable mappings. */class HTMLPurifier_TagTransform_Font extends HTMLPurifier_TagTransform{        var $transform_to = 'span';        var $_size_lookup = array(        '1' => 'xx-small',        '2' => 'small',        '3' => 'medium',        '4' => 'large',        '5' => 'x-large',        '6' => 'xx-large',        '7' => '300%',        '-1' => 'smaller',        '+1' => 'larger',        '-2' => '60%',        '+2' => '150%',        '+4' => '300%'    );        function transform($tag, $config, &$context) {                if ($tag->type == 'end') {            $new_tag = new HTMLPurifier_Token_End($this->transform_to);            return $new_tag;        }                $attr = $tag->attr;        $prepend_style = '';                // handle color transform        if (isset($attr['color'])) {            $prepend_style .= 'color:' . $attr['color'] . ';';            unset($attr['color']);        }                // handle face transform        if (isset($attr['face'])) {            $prepend_style .= 'font-family:' . $attr['face'] . ';';            unset($attr['face']);        }                // handle size transform        if (isset($attr['size'])) {            if (isset($this->_size_lookup[$attr['size']])) {                $prepend_style .= 'font-size:' .                  $this->_size_lookup[$attr['size']] . ';';            }            unset($attr['size']);        }                if ($prepend_style) {            $attr['style'] = isset($attr['style']) ?                $prepend_style . $attr['style'] :                $prepend_style;        }                $new_tag = $tag->copy();        $new_tag->name = $this->transform_to;        $new_tag->attr = $attr;                return $new_tag;            }}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -