简短明了。我不擅长正则表达式,因为我从来不理解它。但是当你看到这个简单的模板时,你会说用%括号替换%% +它的内容+添加函数括号就像这样:
模板:
<html>
<head>
<title>%getTitle%</title>
</head>
<body>
<div class='mainStream'>
%getLatestPostsByDate%
</div>
</body>
</html>
它应该替换为:
<html>
<head>
<title><?php getTitle();?></title>
</head>
<body>
<div class='mainStream'>
<?php getLatestPostsByDate();?>
</div>
</body>
</html>
这可能吗?如果有,怎么样?如果有人为regEx提供了一个很好的教程,即使不是那么聪明的家伙也能解释它,我会非常感激。
提前致谢。
答案 0 :(得分:2)
这可能是一个好的开始。获取自定义标记之间的所有内容(%%),并将其替换为php代码。
https://regex101.com/r/aC2hJ3/1
正则表达式:/%(\w*?)%/g
。检查右侧(正确)的正则表达式的解释,并生成代码......它应该有帮助。
$template=file_get_contents('template.php');
$re = "/%(\\w*?)%/";
$subst = "<?php $1(); ?>";
$result = preg_replace($re, $subst, $template);
file_put_contents('template.php',$result);