从变量中呈现PHP HTML页面



假设我有一个包含html页面的字符串变量。在这个html页面变量中,我有一个echo语句-例如<?php echo 'whatever' ?>

我可以以某种方式将该变量"呈现"到浏览器中,并让php评估该变量中的所有php语句吗?

如果我只是回显这个变量,html会表现得很好,但php语句不会被评估。如果我尝试在整个页面上运行eval,它只会抛出一个异常(有意义(。

我知道这听起来很糟糕,但我正在想办法做到这一点,而不需要将变量保存到文件中并加载文件。

BTW:我在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

我不确定我是否理解你,但我认为这正是你想要的。

如果page1_view.php包含HTML并且需要回显一个变量。例如

<div>Foo says: <?php echo $whatever; ?>!!!</div>

要将"视图"作为一个字符串并计算变量$whatever,您需要这样做。

$view_data['whatever'] = "Hello World";
$page1 = $this->load->view('page1_view', $view_data, TRUE); 

CCD_ 5现在包含作为CCD_ 6的内容的字符串。在这种情况下,

"<div>Foo says: Hello World!!!</div>"

相关内容

  • 没有找到相关文章

最新更新