<?php /** * Smarty plugin * @package Smarty * @subpackage plugins */ /** * Smarty {highlight_char} modifier plugin * * Type: modifier<br> * Name: highlight_char<br> * Date: March 8, 2004<br> * Purpose: highlight first character of the input string with css class<br> * Input: * - string = string whose first char should be wrapped in the given class * * Examples:<br> * <pre> * {$xxx|highlight_char:big_font} * Output: * <span class="bigfont">x</span>xx * * {$xxx|highlight_char:none:b} {* you cannot leave a param empty, so none is no class *} * Output: * <strong>x</strong>xx * * </pre> * @author Mark Hewitt <mark at formfunction dot co dot za> * @version 1.0 * @param string $string Text to modify * @param string $css_class CSS classname to put in span tags, use 'none' to ignore * @param string $tag_name (Optional) Tag to wrap first char in * @param Smarty * @return string|null */ function smarty_modifier_highlight_char($string,$css_class,$tag_name="span") { // strip whitespace off the front of the string, and make sure // there are characters in the string, we only return valid characters... if ( ($s = trim($string)) != '' ) { $html = "<$tag_name"; if ( $css_class != 'none' ) $html .= ' class="'.$css_class.'"'; $html .= '>'.substr($s,0,1)."</$tag_name>".substr($s,1); return $html; } else { return ''; } }