-2

私はすでにこの質問を以前に投稿しましたが、人々はいつも不必要な質問をします. 簡単に説明していきます。

私は3つのファイルを持っています:

  1. php ファイル (html のみを含む、これは重要です) : 例として X ファイルと呼びます。
  2. 画面にデータベースデータを挿入するためのデータベースクエリがあるphpファイル:Yファイル
  3. php ファイル (何らかの操作を行うスクリプト) : Z ファイル

SO、 ZのスクリプトでYXに含めたい。

Zで、私はstr_replace($text, $new, file_get_contents($file));

唯一のことは、PHP タグがないため、 Xに PHP の open タグと close タグを含める必要があることです。

だから、$new = "<?php include('Y.php'); ?>";。試してみると、文字列で終了タグが考慮されませんが、それが私が望んでいることです。

この質問が今明確であることを願っています。私はそれ以上明確にすることはできません。:D

アドバイスありがとうございます。

4

2 に答える 2

0

質問は非常に不明確で曖昧ですが、私は推測しています:

ファイル X は、特別なマーカーを置き換えたい HTML です。
ファイル Y は、マーカーを置き換える必要がある値を DB からロードします。
ファイル Z が置換を行います。

これは次のように解決できます (ファイル Z):

<?php
ob_start();
include("Y.php");
$repl = ob_get_contents();
ob_end_clean();

ob_start();
include("X.php");
$src = ob_get_contents();
ob_end_clean();

echo str_replace("THEREPLACEMENTMARKER", $repl, $src);
?>
于 2013-02-20T18:31:57.837 に答える
0

ファイルを含めるには

<?php
include(file);
?>

だからこの場合

X を含む<?php include('Y'); ?>Y を含む<?php include('Z') ?>

しかし、私が思っていること(ある種のテンプレート)を行っている場合は、オーバーフローバッファ(ob_startとob_end_flushなど)を調べたほうがよいでしょう。

これらは、エコーされたすべての情報を後で変更する変数に配置できます。また、file_get_contents() を使用した例のようにテキストとして読み取るだけでなく、内部の php も実行されます。

于 2013-02-20T18:14:28.943 に答える