PHP使用动态值替换文本字符串中的标记/占位符/标记

use*_*830 0 php arrays variables replace

基本上,我想要实现的是{SOME_TAG}用"Text" 动态替换.
我的想法是阅读所有标签{SOME_TAG},将它们放入数组中.
然后将数组键转换为变量$some_tag,并将它们放入数组中.

所以,这是我得到了多远:

//Some code goes here
$some_tag = "Is defined somewhere else.";
$different_tag = 1 + $something;
Some text {SOME_TAG} appears in different file, which contents has been read earlier.
//Some code goes here 

preg_match_all('/{\w+}/', $strings, $search);
$search = str_replace(str_split('{}'),"",$search[0]);
$search = array_change_key_case( array_flip($search), CASE_LOWER);
...some code missing here, which I cant figure out.
Run Code Online (Sandbox Code Playgroud)

替换数组应该看起来像这样

$replace = array($some_tag, $different_tag);
//Then comes replacing code and output blah blah blah..
Run Code Online (Sandbox Code Playgroud)

如何$replace根据$search数组动态地使数组包含变量?

Emi*_*ary 5

为什么不是这样的:

<?php

$replace = array(
  '{TAG_1}' => 'hello',
  '{TAG_2}' => 'world',
  '{TAG_3}' => '!'
);

$myString = '{TAG_1} {TAG_2}{TAG_3}{TAG_3}';

echo str_replace(array_keys($replace), array_values($replace), $myString);
Run Code Online (Sandbox Code Playgroud)