1

我想将变量 $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?

4

3 回答 3

4

用于str_replace替换$all为值。

$code = str_replace('$all', $all, $code);
于 2012-04-11T14:36:09.597 回答
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

于 2012-04-11T14:46:41.273 回答
-1

尝试使用正则表达式。
你可以用'body'标签+你的var替换'body'标签。
像 :

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

但是你必须确保只有一个<body>标签存在于$code

于 2012-04-11T14:37:05.763 回答