我想做的是它解析以下字符串的方式是 {{}}
中的所有占位符都被替换为“默认”指示的值。例如,{{time, default=noon}}
应该变成 noon
。
这是我试过的代码:
$input = 'It was a {{color, default=black}} and scary {{phase}}. As the {{animals, default=dogs}} {{make_sound, default=barked}} and the trees swayed {{setting, default=to the breeze}}, a {{size, default=}} {{monster, default=troll}} that emerged from the shadows.';
$input = preg_replace('/\{\{.*default=(\w+)\}\}/i', '$1', $input);
echo $input;
产生的输出是:输出:这是一个从阴影中出现的巨魔。
为什么剩余的模式没有被正确解析?
最佳答案
关于PHP 正则表达式不起作用 - 解析 {{tags}},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30522254/