我正在尝试使用正则表达式解析一些输入。输入将采用以下格式:
{一些值:3}
目的是显示“som”(无引号)。
目前,我有:
'echo' => array(
'search' => '~\{((?:'.$this->preg['var'].')(?:\.)?)\}~sU',
'replace' => "'.\$this->_get('\\1').'"
)
这对我的模板系统非常有用,可以回显标准变量(即'somevalue')。但是,我希望允许用户使用 : 分隔符来限制要输出的字符数(即 {somevalue:3} 将显示 'som')。
我试过了:
'echo' => array(
'search' => '~\{((?:'.$this->preg['var'].')(?:\.)?:(.*)/)\}~sU',
'replace' => "'.substr(\$this->_get('\\1'),0,\\2).'"
)
但这没有用。老实说,我不太了解正则表达式,因此我们将不胜感激。