に位置に基づいて動的なコンテンツを置き換える:PHPは、私が希望何列
値は{{
}}
間にある交換します。
入力: "これは文字は{{A}}と{{B}}"
それは変更することができます。 "これは{{AAAA}}文字であり、{{BBB}}"
with array ("C", "D")
出力:は、「これは、文字CとD
である私が事前に知っていません私はこれらの文字列を抽出し、別の値に置き換えるしたい{{
}}
との間の文字列:私が試した
何:
$body = "This is a body of {{awesome}} text {{blabla}} from a book.";
//Only work if we know the keys (awesome, blabla,...)
$text["awesome"] = "really cool";
$text["blabla"] = "";
echo str_replace(array_map(function($v){return '{{'.$v.'}}';}, array_keys($text)), $text, $body);
結果:
This is a body of really cool text from a book.
問題:
私は既に括弧で囲んだ古いコンテンツの前に知っているが、鉱山は「動的」であることがわかっているので、これと似たものは見つからないので、array_mapまたはpreg_replace_callbackのソリューションは機能しません。
どうすればいいですか?
あなたの_actual_の問題の例は何ですか? '{{}}'の間でコードを実行したいのですが、オブジェクトや何から値を参照したいのですか? – MatsLindh
置き換えたい文字列の中に '{{}}'がいくつ含まれていますか?唯一の2 –
@ chris85はいそれは重複としてマークされた、私はあなたが与えたリンクを見たが、私の質問は異なる(たとえ既に尋ねられたものに似ていても、私は私の質問を投稿する前にすべての答えを読んだ、 – Julien