在 cls_template.php 底部加入函数:
[code lang=”php”]
/**
* 处理math中的公式.
* */
function get_math_para($val){
$pa= $this->str_trim($val);
foreach($pa AS $value)
{
if(strrpos($value, ‘=’))
{
list($a, $b) = explode(‘=’, str_replace(array(‘ ‘, ‘"’, "’", ‘"’), ”, $value));
if(strpos($b, ‘$’) >= 0)
{
//$b为类似的1+2,$abc*123等
$pattern= "/\\$[_a-zA-z]+[a-zA-Z0-9_]*/";
preg_match($pattern, $b,$arr);
if($arr) {
foreach($arr as $match) {
$v= $this->get_val(substr($match, 1));
$b= str_replace($match, $v, $b);
}
}
}
}
}
return$b;
}
[/code]
在大概530行处加入:
[code lang=”php”]
case ‘math’:
$t= $this->get_math_para(substr($tag, 8));
return'<?php echo ‘. $t. ‘; ?>’;
break;
[/code]
前台模板调用:
{math equation=”$key+1″}
这里注意用双引号。