在PHP模板系统中实现条件的最佳方法?

Dis*_*oat 0 php regex string templates

我正在为自定义CMS /新闻系统创建一个非常简单的PHP模板系统.每篇文章都有介绍和完整内容(如果适用).我希望以这种形式为条件:

{continue}click to continue{/continue}
Run Code Online (Sandbox Code Playgroud)

因此,如果可以继续,将显示"单击以继续"文本,否则,不显示整个字符串.到目前为止,它的工作方式如下:如果我们可以继续,请删除{continue}标记; 否则,删除整个事情.

我目前正在使用preg_match_all匹配第二种情况下的字符串.删除匹配文本的最佳功能是什么?一个简单的str_replace,还是别的什么?

或者有更好的方法来实现这个整体吗?

cle*_*tus 5

为什么不使用preg_replace_callback

特别:

preg_replace_callback('!\{continue\}(.*)\{/continue\}!Us', 'replace_continue', $html);

function replace_continue($matches) {
  if (/* can continue */) {
    return $matches[1];
  } else {
    return '';
  }
}
Run Code Online (Sandbox Code Playgroud)

我发现preg_replace_callback非常有用.