外部ファイルにテンプレートと言うか、データとしてHTMLの書かれたファイルを置くとします。
そして、メインのphpのファイルで変数や定数の処理をさせて、その外部HTMLファイルを読み込ませ、HTML内に記載した変数等を表示させるとします。
// tmp.html //
<html>
<body>
<div>
<p>こんにちは{$php}です。<br>
今日は{ConstTest::CONST_TEST}ですね。</p>
<p>どうも。{$aisatsu.$php2}です。<br>
今日は{$tenki[1]}なので、悪い天気ですよ。</p>
</div>
</body>
</html>
// tmp.html ここまで //
上記のような{$変数}と言う、{ と } で囲った書き方のプログラムを良く見かけるのですが、
phpプログラム内で、どう処理させれば、表示できるのでしょうか?
また、上には書きましたが、下記のように定数のクラスファイルも外部に作って、表示させることは可能でしょうか?
そもそも、定数も{}で表示させることは可能なんでしょうか?
もうひとつ、{$a.$b}の様に文字列の入った変数をドットでつなげると言う書き方も可能でしょうか?
// main.php //
<?php
require_once('./class.php');
$php = 'アマガエル';
$aisatsu = 'こんにちわ。';
$php2 = '椎名アップル';
$tenki = array('晴れ','雨','曇り');
// 処理の仕方が解からないので、デタラメな?の部分です
$hoge = file_get_contents('./tmp.html');
echo $hoge;
// ?の部分終わり
exit;
?>
// main.php ここまで //
// class.php //
<?php
class ConstTest {
const CONST_TEST = '雨ですが、良い天気';
}
?>
// class.php ここまで //
No.1ベストアンサー
- 回答日時:
「テンプレートをどう処理するか」はスクリプトをどう書くかだけの問題です。
どういう変数があるかが既知であればひとつひとつstr_replaceで置換するという方法もないわけではありません。この場合は変数の書き方もある程度自由です(スクリプトで置換できればいいので)。
$tpl = file_get_contents('contents.tpl');
$tpl = str_replace('{$abc}', $abc, $tpl);
#もちろん実際には配列+可変変数などで効率よく
#回すでしょうけど、あくまでも「例」として(汗
また、evalを使ってヒアドキュメントとして扱う(変数はphpによってparseされる)という手法もあります。
$tpl = file_get_contents('contents.tpl');
$tpl = "echo <<<TPL\r\n" . $tpl . "\r\nTPL;\r\n";
eval($tpl);
どういう書き方が出来るかは、処理方法によって異なってきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- PHP ランキングを表示する際の画像の大きさを固定することは可能でしょうか? <?php if ( has_ 1 2022/07/21 14:55
- PHP アップロードファイルの数に応じてCSSを動的に変更したいのですが、方法がわかりません 3 2023/07/23 21:59
- PHP PHP MySql ページング 2 2022/09/20 06:38
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
こちらはただの直列処理ですか?
-
シェルスクリプトからphpファイ...
-
別ファイルの変数を呼び出した...
-
別PHPファイルに変数を渡す
-
入力フォームの空白や改行を制...
-
phpのソースコードが、そのまま...
-
phpのプログラムエラー
-
#!/usr/local/bin/phpはどこに...
-
MySQLの配置が変わったため、db...
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
-
form actionで二つ送信先を指定...
-
FTPコマンドでディレクトリごと...
-
PHPのif文でその処理を途中で抜...
-
存在しないメールアドレスかど...
-
.htaccessにphp_valueが使用できな
-
PHP8を使うと、大量のWarningが...
-
PHPでfatal errorが出ても無視...
-
アップロード画像数でCSSを分け...
-
Apacheでhttp://localhost/が表...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ファイルの変数を呼び出した...
-
MySQLの配置が変わったため、db...
-
入力フォームの空白や改行を制...
-
別PHPファイルに変数を渡す
-
シェルスクリプトからphpファイ...
-
phpのソースコードが、そのまま...
-
include先でのinclude元の変数...
-
phpinfo.phpを開くとファイルの...
-
拡張子php画像をbmp画像等に変...
-
PHPから別なPHPへ移動(?)する方法
-
PerlからPHPの呼び出しについて
-
1行目の#! "C:\\xampp\\php\\p...
-
ローカルでは動くがサーバーで...
-
PHPの拡張子を見せない方法
-
パスワード等が記述されているp...
-
#!/usr/local/bin/phpはどこに...
-
.htaccessの設定で,auto_prepe...
-
PHP(.php)及びJavascrpit(.j...
-
.phpのファイルを開けない!
-
拡張子なしのファイルを稼働さ...
おすすめ情報