我也不知道我问题标题的描述是否正确。
我正在做一个项目,里面用到了一些php + html格式的代码,然后我需要把上面的所有的输出的html结果保存到一个缓存中。
我现在唯一的办法就是把要保存的php+html格式代码写成类似
$cache = "html".php."html";
然后才能缓存这个$cache变量。
有没有办法让我把这些php + html代码放到一个文件中,然后读取他们输出的效果到一个变量里面?
立即学习“PHP免费学习笔记(深入)”;
例如我有这么一些代码
<div class="article row_3" onmouseover="this.style.cssText='background-color:<?php echo $hue[$i-1]; ?>'" onmouseout="this.style.cssText='background: #333;'"> <p><?php $post_describe = get_post_meta($post->ID,'post_describe',true);if(!$post_describe){echo strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 142, '');}else{echo $post_describe;}?></p> </div>
代码中有一些if判断之类的语句,我不方便吧他们全部写在一行,然后丢一个变量里面。这样很不利于后期修改。
所以我寻求其他更好的办法。
我发现使用include 会直接输出文件中的内容,而不会返回内容给一个变量。
我也不知道我问题标题的描述是否正确。
我正在做一个项目,里面用到了一些php + html格式的代码,然后我需要把上面的所有的输出的html结果保存到一个缓存中。
我现在唯一的办法就是把要保存的php+html格式代码写成类似
$cache = "html".php."html";
然后才能缓存这个$cache变量。
有没有办法让我把这些php + html代码放到一个文件中,然后读取他们输出的效果到一个变量里面?
立即学习“PHP免费学习笔记(深入)”;
例如我有这么一些代码
<div class="article row_3" onmouseover="this.style.cssText='background-color:<?php echo $hue[$i-1]; ?>'" onmouseout="this.style.cssText='background: #333;'"> <p><?php $post_describe = get_post_meta($post->ID,'post_describe',true);if(!$post_describe){echo strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 142, '');}else{echo $post_describe;}?></p> </div>
代码中有一些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在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号