<?php require_once 'HTMLPurifier/AttrTransform.php'; /** * Pre-transform that changes deprecated hspace and vspace attributes to CSS */ class HTMLPurifier_AttrTransform_ImgSpace extends HTMLPurifier_AttrTransform { var $attr; var $css = array( 'hspace' => array('left', 'right'), 'vspace' => array('top', 'bottom') ); function HTMLPurifier_AttrTransform_ImgSpace($attr) { $this->attr = $attr; if (!isset($this->css[$attr])) { trigger_error(htmlspecialchars($attr) . ' is not valid space attribute'); } } function transform($attr, $config, &$context) { if (!isset($attr[$this->attr])) return $attr; $width = $this->confiscateAttr($attr, $this->attr); // some validation could happen here if (!isset($this->css[$this->attr])) return $attr; $style = ''; foreach ($this->css[$this->attr] as $suffix) { $property = "margin-$suffix"; $style .= "$property:{$width}px;"; } $this->prependCSS($attr, $style); return $attr; } } ?>