如何在另一个变量中呈现变量?

时间:2012-04-11 14:32:51

标签: php

我想将变量$ all放在$ code的中间,这是我从另一个文件中收集的HTML代码。我目前的代码是这样的。

ob_start();
---code here---
$all = ob_get_clean();
$code = file_get_contents("file.txt");
echo $code;

file.txt看起来有点像这样。

<html>
<head>
<title>Title</title>
</head>
<body>
---HTML code here---
$all
---More HTML code---
</body>
</html>

当我回显$ code时,我应该怎么做才能在其中呈现$ all?

3 个答案:

答案 0 :(得分:4)

使用str_replace$all替换为值。

$code = str_replace('$all', $all, $code);

答案 1 :(得分:0)

OP获得了他的解决方案,但我认为这也值得一提。

如果HTML文件中没有占位符,但您知道要在特定内容之后插入$all,则可以执行以下操作:

$all = ob_get_clean();
$code = file_get_contents("file.txt");
$after = "<input type=\"hidden\" value=\"something\" />";

$code = substr_replace($code, $all, strpos($code, $after)+strlen($after), 0);

这会在$after中找到$code,移到其末尾,然后插入$all

答案 2 :(得分:-1)

尝试使用RegEx。
您可以将'body'标签替换为'body'标签+您的var。
喜欢:

echo preg_replace('/<body>/',"<body>$all",$code);

但您必须确保<body>

中只有一个$code个标记