概述:我正在为我的网站制作一个诱人的系统,目前进展顺利,它正在按照我的预期工作,当我希望像{PAGE_SIDEBAR}这样的东西显示文件模板时出现的唯一问题/sidebar.php或类似的东西.
我在用
//loads of other str_replace here
$body = str_replace("{PAGE_SIDEBAR}, include("template/sidebar.php"), $body);
echo $body;
Run Code Online (Sandbox Code Playgroud)
这工作,但它包括在正文开头的文件,而不是{PAGE_SIDEBAR}.标签所在的位置显示数字1.
有关更好的说明,请参见屏幕截
此外,对于兴趣点,它如何使用file_get_contents()而不是include():http:// www.jamesmoorhouse.co.uk/stack_overflow/str_replace/file_get_contents_method.png
理想情况下,我希望它能像include方法一样工作,但是会显示file_get_contents方法放置它的位置.
您必须include使用输出缓冲捕获吐出的所有内容,以便能够将其用作字符串:
ob_start();
include("template/sidebar.php");
$str_sidebar = ob_get_clean();
$body = str_replace("{PAGE_SIDEBAR}", $str_sidebar, $body);
echo $body;
Run Code Online (Sandbox Code Playgroud)
如果有许多占位符要替换,您可能希望使用基于正则表达式的解决方案和回调,这样您就不必为每个占位符重复此代码.见我的答案在这里的底漆.
| 归档时间: |
|
| 查看次数: |
2954 次 |
| 最近记录: |