php - 从变量渲染 PHP HTML 页面
问题描述
假设我有一个包含 html 页面的字符串变量。在那个 html 页面变量中,我有一个 echo 语句 - 例如<?php echo 'whatever' ?>
我可以以某种方式将该变量“呈现”给浏览器,并让 php 评估变量中的所有 php 语句吗?
如果我只是回显变量,则 html 呈现良好但 php 语句不被评估。如果我尝试在整个页面上运行 eval,它只会引发异常(有意义)。
我知道这听起来像是不好的做法,但我试图找出一种方法来做到这一点,而不会将变量保存到文件并加载文件。
顺便说一句:我在codeigniter中做这一切,所以如果有办法在那个变量上使用$this->load->view...那就更好了:)
示例代码:
$x = /* Some logic to get a template data from another server */
/* $x is "<html><?php echo 'bla'; ?></html> */
echo $x;
这不起作用-尝试运行echo eval($x)
也不起作用
解决方案
您可以将视图数据写入变量并在其他视图中使用此变量
在你的控制器中:
$data['view1'] = $this->load->view('my_view1', '', TRUE); // write view data to variable
$this->load->view('my_view2', $data);
在 my_view2 中:
<html>
<?=$view1?>
</html>
该文档可以帮助您将视图作为数据返回 - Codeigniter
推荐阅读
- jquery - 使用 show_char 和 content.length 切换阅读更多/阅读更少
- amazon-ec2 - 从 EC2 公开 Nexus 服务
- python - 从 python_speech_features 使用 mfcc 并出现内存错误
- java - 如何将文件的 Uri 从一个应用程序广播到另一个应用程序?
- r - 多任务SVM的R实现
- javascript - 与服务器时间匹配的 Javascript 和 PHP 时钟
- google-apps-script - 用 URLFetchApp 替换 =ImportHTML
- r - 从 R 包中的 C 调用 R `cor()` 函数?
- python - 极坐标图matplotlib中的直线不接触
- r - 双括号(即 {{}}、大花括号)在 tidyr::complete() 和 tidyr::nesting() 中不起作用