[PHP-users 18502]Re: 変数に格納したヒアドキュメント
Misha
misha @ mbm.nifty.com
2003年 10月 18日 (土) 12:37:14 JST
こんにちは。ミーシャです。
結論から書いてしまうと、
HTMLに限らず、ファイルとして読み込んだテキストは、
シングルクォートで囲まれた文字列と同じことになります。
したがって、ヒアドキュメントに限らず、
どのような表示方法を用いても、変数名は変数名そのまま表示されてしまうことでしょう。
私も、このような例では、上手い解決策が見当つかず、
結局、地味ですが、以下のように正規表現を使って処理をしています。
=================================================-
<?PHP
$TITLE = "TEST PAGE";
$hoge = "Hello World";
$patt = array();
$repl = array();
$patt[] = '/\$TITLE/'; $repl[] = $TITLE;
$patt[] = '/\$hoge/'; $repl[] = $hoge;
$html = preg_replace($patt, $repl, file_get_contents('foo.inc'));
print $html;
?>
=================================================
// <foo.inc>
<HTML>
<HEAD>
<TITLE>$TITLE</TITLE>
</HEAD>
<BODY>
$hoge<BR>
</BODY>
</HTML>
=================================================
もっと良い方法があれば、私も知りたいところです。
-----------------------------------------
ミーシャ
> -----Original Message-----
> From: php-users-bounces @ php.gr.jp
> [mailto:php-users-bounces @ php.gr.jp] On Behalf Of Dai
> Sent: Saturday, October 18, 2003 11:26 AM
> To: php-users @ php.gr.jp
> Subject: [PHP-users 18501]変数に格納したヒアドキュメント
>
> こんにちは、DAIといいます。
> 質問させてください。
>
> HTMLをテンプレートとして使うため、変数に格納したHTMLファイルを
> ヒアドキュメントの中で展開し、その中でPHPスクリプトを実行したり変数を展開したいのですが
> 表示されたHTMLのソースの中では無視され文字としてそのまま表示されてしまいます。
> どうやったら上手くできるでしょうか?
> スクリプトの方は以下のようになっています。
> form.htmlには$hogeなどの変数や<?php 〜 ?>などが入っていても無視されます。
>
> $html = file_get_contents('form.html');
> echo <<<HIRE
> $html
> HIRE;
>
> よろしくお願い致します。
>
> _______________________________________________
> PHP-users mailing list
> PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
>
>
PHP-users メーリングリストの案内