smarty实现多个界定符

Version:smarty3.1.21

 

smarty实例化

 

include_once('Smarty.class.php');

$smarty = new smarty();

$smarty->force_compile  =true; //强迫编译

$smarty->debugging      =false;

$smarty->caching        =false;

$smarty->force_cache    =true;

$smarty->template_dir   ='/templates/';

$smarty->compile_dir    ='/templates_c/';

$smarty->left_delimiter='{syy:}'; //这里设置的界定符将被忽略,请在下面的数组内设置

$smarty->right_delimiter='{/syy}';//这里设置的界定将被忽略,请在下面的数组内设置

$smarty->left_delimiter_list=array('{syy:}','{xzz:}','{wcz:}','{xyy:}');

$smarty->right_delimiter_list=array('{/syy}','{/xzz}','{/wcz}','{/xyy}');

 

 

增加保存其他界定符的变量

 

Smarty.class.php文件,360行左右,“public$left_delimiter = "{";”下方,增加以下代码

 

public $left_delimiter_list = array();

public $right_delimiter_list = array();

 

 

将其他所有的界定符替换为第一个界定符

 

smarty_internal_templatelexer.php,90行左右 “$this->compiler =$compiler;”下方,增加以下代码

 

foreach($this->smarty->left_delimiter_listas$k1=>$v1){

$this->data=str_replace($v1,'{',$this->data);           $this->data=str_replace($this->smarty->right_delimiter_list[$k1],'}',$this->data);

}

$this->smarty->left_delimiter='{';

$this->smarty->right_delimiter= '}';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值