<?php 
/** 
 * Smarty shared plugin 
 * @package Smarty 
 * @subpackage plugins 
 */ 
 
 
/** 
 * escape_special_chars common function 
 * 
 * Function: smarty_function_escape_special_chars<br> 
 * Purpose:  used by other smarty functions to escape 
 *           special chars except for already escaped ones 
 * @author   Monte Ohrt <monte at ohrt dot com> 
 * @param string 
 * @return string 
 */ 
function smarty_function_escape_special_chars($string) 
{ 
    if(!is_array($string)) { 
        $string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string); 
        $string = htmlspecialchars($string); 
        $string = str_replace(array('%%%SMARTY_START%%%','%%%SMARTY_END%%%'), array('&',';'), $string); 
    } 
    return $string; 
} 
 
/* vim: set expandtab: */ 
 
?> 
 
 |