在PHP中替换标记之间的值
我有一个包含以下文本的字符串:在PHP中替换标记之间的值,php,regex,Php,Regex,我有一个包含以下文本的字符串: Id: {id} Status: {status} Priority: {prio} 我想用它各自的值替换{id}、{status}和{prio} 例如: {i} = '1' {status} = 'New' {prio}: 'Low' 如何在PHP中实现这一点?使用;回调函数的返回值用作替换字符串 $data = array( 'id' => '1', 'status' => 'New', 'prio' => 'Lo
Id: {id}
Status: {status}
Priority: {prio}
我想用它各自的值替换{id}、{status}和{prio}
例如:
{i} = '1'
{status} = 'New'
{prio}: 'Low'
如何在PHP中实现这一点?使用;回调函数的返回值用作替换字符串
$data = array(
'id' => '1',
'status' => 'New',
'prio' => 'Low',
);
$str = 'Id: {id}
Status: {status}
Priority: {prio}';
$str = preg_replace_callback('/{(\w+)}/', function($match) use($data) {
return $data[$match[1]];
}, $str);
echo($str);
输出:
Id: 1
Status: New
Priority: Low
请参见(不带正则表达式)
preg\u match\u回调
+~{([^\}]+)\}
来自同名变量的相应值?
$trans = array(
'{id}' => '1',
'{status}' => 'New',
'{prio}' => 'Low'
);
echo strtr($text, $trans);