本文整理汇总了PHP中Tpl::_tmpData方法的典型用法代码示例。如果您正苦于以下问题:PHP Tpl::_tmpData方法的具体用法?PHP Tpl::_tmpData怎么用?PHP Tpl::_tmpData使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tpl
的用法示例。
在下文中一共展示了Tpl::_tmpData方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _match
private static function _match($matches)
{
$content = $matches[1];
//替换特殊字符
self::$_tmpData = array();
self::$_tmpIndex = 0;
$content = preg_replace_callback("/([\\'\"])(.+?)\\1/m", array("Tpl", "_tmpData"), $content);
//{{{if,elseif,/if; foreach,/foreach; for,/for
$pattern = "/^(if|foreach|for)(([\\s|\\(]+)(.+))/msi";
$content = preg_replace_callback($pattern, create_function('$m', '$t = trim($m[3]);$v = trim($m[2]);if(empty($t)){return "{$m[1]}($v){";}else{return "{$m[1]}$v{";}'), $content);
$patterns = array("/^(elseif)([\\s*|\\(].*)/msi", "/^(else)/msUi", "/^\\/(if|foreach|for)/msi");
$replacements = array('}\\1(\\2){', '}\\1{', '}');
$content = preg_replace($patterns, $replacements, $content);
//}}}
//function
//{fun $param }
//{fun $param1 $param2 "param3" }
//{fun($param1,$param2,"param3")}
//{fun ($param1,$param2,"param3")}
$pattern = "/^(\\w+)\\s+(.*)/ms";
do {
$content = preg_replace_callback($pattern, array("Tpl", "_matchfunction"), $content, -1, $ct);
} while (0);
//modifier,支持多种格式,与多极modifier
//{$v|modifer}
//{$v|modifer:1:2}
//{'v'|modifer:1:2|modifer:3}
$pattern = "/(.+?)\\|([^\\|]+)/ms";
do {
$content = preg_replace_callback($pattern, array("Tpl", "_matchmodifier"), $content, -1, $ct);
} while ($ct);
//{{{替换变量,加ECHO
$patterns = array('/\\$(\\w+)/ms', '/^(?!(if|else|for|foreach|elseif))(\\w+)([^\\=]+)$/ms');
$replacements = array('Tpl::$_tpl_vars["\\1"]', 'echo \\0');
$content = preg_replace($patterns, $replacements, $content);
//还原特殊字符
$content = str_replace(array_keys(self::$_tmpData), self::$_tmpData, $content);
////}}}
$content = "<?php {$content}; ?>";
return $content;
}