0

PHPをSmartyテンプレートと組み合わせて使用​​して、サーバーサイドでページを生成しています。現在、次のようにページを読み込んでいます。

$smarty->assign('app', file_get_contents("some_content.php"));

一部のコンテンツにPHPタグを含むHTMLと、それらのタグ内のコードが含まれている場合。

このファイル内のPHPコンテンツを現在のスコープ(ファイルを読み取るスクリプトのスコープ)内に入れて、定義した特定の関数を使用できるようにします。どうすればいいですか?私が見つけることができるすべての情報は、HTML / PHPの混合に対処できないように見えるeval(...)関数に関するものです:目的を達成するには、検索/評価/置換操作を実行する必要がありますか?結果、またはこれを行うためのよりエレガントな方法はありますか?

4

3 に答える 3

1

私の意見では、あなたが投稿したコードのこの短いスニペットは、何かが一般的に間違っていることを示しています:)

しかし、それでも、次のことを行うことで、達成しようとしていることは何でも達成できます。

ob_start();
include("some_content.php");
$result = ob_get_clean();
$smarty->assign('app', $result);
于 2012-04-24T07:10:26.490 に答える
1

ええ、私は馬鹿です。私の鼻のすぐ下にあるevalのPHPマニュアルに答えがあります。これが私が気づかなかった答えです

于 2012-04-24T07:07:22.623 に答える
0

{literal}...{/literal} smarty タグを使用して、smarty テンプレートのコンテンツをそのまま表示できます。Java スクリプトやその他の特定のコンテンツを転送するために使用されます。

于 2012-04-24T07:13:47.673 に答える