:PHPタグをエコーするには?私はこれを行うことにより、PHPタグをエコーしようとしている
echo "<?php echo \"test\"; ?>";
結果は引用符だけで「テスト」でなければなりませんが、私のコードは動作しません。何が起こっているのかは、ページには何も表示されていませんが、ソースコードは"<?php echo "teste"; ?>"
です。私がこれをやりたい理由を知りたい人のほとんどが知りたいと思うでしょう。私は自分のテンプレートシステムを作ろうとしています。最も簡単な方法はfile_get_contents
を使用して、私が欲しいものをstr_replace
に置き換えてからecho
を使用することです。
問題は、テンプレートファイルで、ページをエコーしたときに動作しないPHP関数をいくつか持たなければならないということです。これを行う簡単な方法がありますか?あなたが私の質問に答えるだけでも大いに役立ちます!ここで
私が達成しようとしているものの例である:
template.tpl:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>[__TITULO__]</title>
</head>
<body >
<p>Nome: [__NOME__] <br />
Email: <a href="mailto:[__EMAIL__]">[__EMAIL__]</a><br />
<?php
if ($cidade != "") {?>
Cidade: [__CIDADE__]<br />
<?php
}
?>
Telefone: ([__DDD__]) [__TELEFONE__] <br />
Fax:
([__DDDFAX__]) [__FAX__] <br />
Interesse: [__INTERESSE__]<br />
Mensagem:
[__MENSAGEM__] </p>
</body>
</html>
のindex.php
<?php
$cidade = "Teste";
$file = file_get_contents('template.php');
$file = str_replace("[__TITULO__]","Esse Título é téste!", $file);
$file = str_replace("[__NOME__]","Cárlos", $file);
$file = str_replace("[__EMAIL__]","[email protected]", $file);
if ($cidade != "") {
$file = str_replace("[__CIDADE__]",$cidade, $file);
}
echo $file;
?>
私は表示されないこのすべてを解決することができますdivにコンテンツがありません。私は、コンテンツを設定した時間がdiv要素のcontent2は表示されませんコンテンツ2を設定し、私はcontent1を設定したテンプレートを交換しないようにする場合
<div id="content1">[__content1__]</div>
<div id="content2">[__content2__]</div>
:私はテンプレートを持って、その中に、私は2つのdivを持っているかのよう。あなたが混同してはいけません、ここでソースコードの二組を扱っている<
と>
PHPマニュアルで "エスケープ"を参照してください。 –
'<?php echo" teste "; ?> 'が不正な形式のHTMLであるため、レンダリングされた出力には表示されません(ソースにあるはずです)。テンプレートソリューションをお探しですか?[Twig](http://twig.sensiolabs.org/)、[Smarty](http://www.smarty.net/)、[Dwoo](http:// dwoo .org /)、[その他...](https://www.google.com/search?q=php+template+engine)私を信じて - あなたの現在のアイデアは悪いです。 OR ---可視のPHPコードスニペットをブラウザに出力しようとしていますか? –
それはそうではなく、ソースページにあるかのように、echoコードをPHPコードとしてレンダリングします。 –