PHP如何将输出的内容放到一个变量中
我正在做一个项目,里面用到了一些php + html格式的代码,然后我需要把上面的所有的输出的html结果保存到一个缓存中。
我现在唯一的办法就是把要保存的php+html格式代码写成类似
$cache = "html".php."html";
然后才能缓存这个$cache变量。
有没有办法让我把这些php + html代码放到一个文件中,然后读取他们输出的效果到一个变量里面?
例如我有这么一些代码
ID,'post_describe',true);if(!$post_describe){echo strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 142, '');}else{echo $post_describe;}?>
代码中有一些if判断之类的语句,我不方便吧他们全部写在一行,然后丢一个变量里面。这样很不利于后期修改。
所以我寻求其他更好的办法。
我发现使用include 会直接输出文件中的内容,而不会返回内容给一个变量。
回复内容:
我也不知道我问题标题的描述是否正确。
我正在做一个项目,里面用到了一些php + html格式的代码,然后我需要把上面的所有的输出的html结果保存到一个缓存中。
我现在唯一的办法就是把要保存的php+html格式代码写成类似
$cache = "html".php."html";
然后才能缓存这个$cache变量。
有没有办法让我把这些php + html代码放到一个文件中,然后读取他们输出的效果到一个变量里面?
例如我有这么一些代码
ID,'post_describe',true);if(!$post_describe){echo strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 142, '');}else{echo $post_describe;}?>
代码中有一些if判断之类的语句,我不方便吧他们全部写在一行,然后丢一个变量里面。这样很不利于后期修改。
所以我寻求其他更好的办法。
我发现使用include 会直接输出文件中的内容,而不会返回内容给一个变量。
这是个好问题。实际上这就是在直接把php当模板语言来用。
http://php.net/manual/en/function.includ...
看这里的 Example #6 Using output buffering to include a PHP file into a string
不被php代码约束的内容输出到响应,你是阻拦不了的,只能这样用重定向的方法来捕获之。
解决了,在include中间加入
ob_start();
你的代码
$html = ob_get_contents();
ob_end_clean();
ob_start之后可以把输出的内容放到缓冲区内,而不是直接返回给用户,然后通过ob_get_contents获取到
下一篇: PHP生成各种随机验证码的方法总结
推荐阅读
-
如何将一个文本内容通过PHP 以表格的方式输入到页面上
-
PHP提取数据库内容中的图片地址并循环输出
-
javascript中的变量如何传到php中,一个高难问题 100大分!
-
app-php如何将一个整型数发到Java写的手机APP中
-
2个毫无关联的php文件,如何将一个Php文件中的值传到另一个php文件中去
-
php在文件中调用另一个类(.php),写什么能输出调用的内容在哪一行啊
-
php清空数据库中一个表中的内容的代码解决思路
-
php如何把多个php文件的内容写到一个文件中
-
php怎么把多个php文件的内容写到一个文件中
-
php使用amf3与flex通讯,所有内容都要写在类和类的函数中么,require(/includes/sq_init.php)不支持么?全局变量也不可以用?