split_string($original_string); $return_string = ""; foreach($breakdown as $tmp_str){ if($this->is_variable($tmp_str)){ $tmp_str = trim($tmp_str, '{'); $tmp_str = trim($tmp_str, '}'); list($var_name, $len_vars) = explode("(",$tmp_str); $var_value = $variables[$var_name]; if(strlen($len_vars) == 0) $return_string .= $var_value; else { $len_vars = trim($len_vars,")"); $len_vars_arr = explode(',', $len_vars); if(count($len_vars_arr) == 1) $return_string .= sprintf("%0{$len_vars_arr[0]}s",$var_value); else { $return_string .= substr($var_value,$len_vars_arr[0], $len_vars_arr[1]); } } } else $return_string .= $tmp_str; } if($md5) { $return_string = md5($return_string); } elseif ($crc) { $return_string = crc32($return_string); } return $return_string; } function is_variable($string){ $pattern = "/{.*}$/"; $pos = preg_match($pattern, $string); if($pos > 0) return true; else return false; } } ?>