1

別のファイルから収集した HTML コードである $code の真ん中に、変数 $all を配置したいと考えています。私の現在のコードはこのようなものです。

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は彼の解決策を得ましたが、これも言及する価値があると思いました.

$allHTML ファイルにプレースホルダーがないが、特定の何かの後に挿入したいことがわかっている場合は、次のようにすることができます。

$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」タグを「body」タグ + var に置き換えることができます。
お気に入り :

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

<body>ただし、タグが1 つだけ存在することを確認する必要があります。$code

于 2012-04-11T14:37:05.763 に答える