正则表达式匹配了{$name} {age}...
$this->_vars[]我用这个数组吧匹配的东西保存
private function parVar(){
$_patten='/\{\$([\w]+)\}/';//匹配模板中的{变量}
if(preg_match($_patten,$this->_tpl,$mat)){
//模板内容替换后付给$this->_tpl
$this->_tpl=preg_replace($_patten,"_vars['$1'];?>",$this->_tpl);
}
}
为什么这里面"_vars['$1'];?>"能用 $1来表示?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
这里的
$1不是PHP的变量, 而是preg_replace的占位符,表示正则表达式匹配出来的结果(1表示第一个匹配,也就是'/\{\$([\w]+)\}/'中()取出的那些字符)语法要求:%2\$s占位符的格式应该是这样呀~ 为什么$1是占位符啊