| // +----------------------------------------------------------------------+ // // $Id: Images.php,v 1.8 2007/07/02 17:44:47 cweiske Exp $ // /** * @package framework * @subpackage misc * @author Stijn de Reede */ /** */ require_once 'HTML/BBCodeParser/Filter.php'; /** * @package framework * @subpackage misc */ class SSHTMLBBCodeParser_Filter_Images extends SSHTMLBBCodeParser_Filter { /** * An array of tags parsed by the engine * * @access private * @var array */ var $_definedTags = array( 'img' => array( 'htmlopen' => 'img', 'htmlclose' => '', 'allowed' => 'none', 'attributes'=> array( 'img' => 'src=%2$s%1$s%2$s', 'w' => 'width=%2$s%1$d%2$s', 'h' => 'height=%2$s%1$d%2$s', 'alt' => 'alt=%2$s%1$s%2$s', ) ) ); /** * Executes statements before the actual array building starts * * This method should be overwritten in a filter if you want to do * something before the parsing process starts. This can be useful to * allow certain short alternative tags which then can be converted into * proper tags with preg_replace() calls. * The main class walks through all the filters and and calls this * method if it exists. The filters should modify their private $_text * variable. * * @return none * @access private * @see $_text * @author Stijn de Reede */ public function _preparse() { $options = SSHTMLBBCodeParser::getStaticProperty('SSHTMLBBCodeParser','_options'); $o = $options['open']; $c = $options['close']; $oe = $options['open_esc']; $ce = $options['close_esc']; $this->_preparsed = preg_replace( "!".$oe."img(\s?.*)".$ce."(.*)".$oe."/img".$ce."!Ui", $o."img=\"\$2\"\$1".$c.$o."/img".$c, $this->_text); } }