'_blank', 'images' => true, 'img_ext' => array('jpg', 'jpeg', 'gif', 'png'), 'css_inline' => null, 'css_footnote' => null, 'css_descr' => null, 'css_img' => null ); /** * * Renders a token into text matching the requested format. * * @access public * * @param array $options The "options" portion of the token (second * element). * * @return string The text rendered from the token options. * */ function token($options) { // create local variables from the options array (text, // href, type) extract($options); // find the rightmost dot and determine the filename // extension. $pos = strrpos($href, '.'); $ext = strtolower(substr($href, $pos + 1)); $href = htmlspecialchars($href); // does the filename extension indicate an image file? if ($this->getConf('images') && in_array($ext, $this->getConf('img_ext', array()))) { // create alt text for the image if (! isset($text) || $text == '') { $text = basename($href); $text = htmlspecialchars($text); } // generate an image tag $css = $this->formatConf(' class="%s"', 'css_img'); $output = ""; } else { // should we build a target clause? if ($href{0} == '#' || strtolower(substr($href, 0, 7)) == 'mailto:') { // targets not allowed for on-page anchors // and mailto: links. $target = ''; } else { // allow targets on non-anchor non-mailto links $target = $this->getConf('target'); } // generate a regular link (not an image) $text = htmlspecialchars($text); $css = $this->formatConf(' class="%s"', "css_$type"); $output = "'; } } return $output; } } ?>