我正在为自定义CMS /新闻系统创建一个非常简单的PHP模板系统.每篇文章都有介绍和完整内容(如果适用).我希望以这种形式为条件:
{continue}click to continue{/continue}
因此,如果可以继续,将显示"单击以继续"文本,否则,不显示整个字符串.到目前为止,它的工作方式如下:如果我们可以继续,请删除{continue}标记; 否则,删除整个事情.
我目前正在使用preg_match_all
匹配第二种情况下的字符串.删除匹配文本的最佳功能是什么?一个简单的str_replace
,还是别的什么?
或者有更好的方法来实现这个整体吗?
为什么不使用preg_replace_callback?
特别:
preg_replace_callback('!\{continue\}(.*)\{/continue\}!Us', 'replace_continue', $html); function replace_continue($matches) { if (/* can continue */) { return $matches[1]; } else { return ''; } }
我发现preg_replace_callback非常有用.