私はSmartyテンプレートと組み合わせてPHPを使用して、ページサーバーサイドを生成しています。現在、次のようにページをロードしています。PHP + Smarty:PHP + HTMLを文字列に解析しますか?
$smarty->assign('app', file_get_contents("some_content.php"));
一部のコンテンツには、HTMLタグとその内部にコードが含まれています。
私が定義した特定の機能が利用できるように、このファイル内のPHPコンテンツを現在のスコープ(ファイルを読み込んでいるスクリプトのもの)にしたいと思います。私はどうしたらいいのですか?私が見つけることができるすべての情報は、HTML/PHP混合物に対処できないように見えるeval(...)関数に関するものです:目的を達成するためにfind/eval/replace操作を実行する必要がありますか?結果、またはこれを行うよりエレガントな方法がありますか?
ありがとうEugene、私はあなたのコードをとり、parse_in_scopeという素敵な関数にしました。引数は解析するファイルで、戻り値は$ resultです。完璧に動作します、ありがとう! –
PS、スニペットで「一般的に間違っている」と思いますか?コードは、より大きな問題のカプセル化のビットですが、私はあなたが思っていることを聞きたいと思います。^)。 –
私にとっては、評価されたphp/htmlコードをSmarty変数に割り当てることをどうにかして正当化する唯一の状況は、 "現状の"第三者コードを使用しようとする試みです:) – Eugene