2

私はこれに関する例を探して探しましたが、私が見つけた唯一のものは、次のような str 置換の結果をエコーし​​ています:

$malestr = str_replace("{name}", "$name", $rawstring);
echo "$malestr";

しかし、これは私が望んでいることではありません。私がやろうとしていることは....... テンプレートを作成するときに、メッセージのテキストボックスフィールドに次のように記述します。

{name} 様、ご注文ありがとうございます。

名前は私が書いている人物でもあり、電子メールが送信されるときに $toPersonsName 配列から取得されます。

したがって、この結果は次のように電子メールに表示されます。

お客さんがボブだったら >>

親愛なるボブ、ご注文ありがとうございました!.

この str_replace はこれに必要ですか、それとも別の何かです。書く必要がないからです

Dear <?php echo '$malestr';?>

テンプレートを作成するたびに、{name} の方が優れています。

編集 >>

私が次のことをした場合:

$name = 'BOB';
$rawstring = "$name";

$malestr = str_replace("{name}", "$name", $rawstring);


echo "$malestr";
echo "{name}";

{name} をエコーし​​ますが、bob はエコーしません ?? にもかかわらず、$malestr は bob をエコーし​​ます。

4

2 に答える 2

0

これを行うには、strtr() ネイティブ関数を使用できます。

于 2012-01-03T12:15:30.823 に答える
0

文字列の置換にはさまざまな方法があり、このブログ投稿で、それらが速度に関してどのように比較されているかを確認できます。

最終的には、ビューの出力全体を解析し (MVC を使用している場合)、各インスタンスを置き換える必要があります。人気のあるテンプレート エンジンSmartyは、達成しようとしているものと非常によく似たものを使用します。彼らがこの機能をどのように達成するかを見たいのであれば、それはオープンソースです。

于 2012-01-03T11:38:43.183 に答える