[英]How can I manipulate variable placeholders in PHP?
如果不将正则表达式保存为json格式,有没有办法使用正则表达式? 我对json感兴趣只是因为我正在使用mongodb,所以输出以json格式输出。 我有一个名为docroot
的字段,该字段本质上是目录路径。
docroot : "secure.unstable.qa.example.com"
可能根据其他因素而改变的仅有两块是unstable
和qa.
我希望找到一种放置“标记”的方法,以便可以轻松地用适当的变量替换它们。
例如:
docroot : "secure.{STREAMS}.{ENV}.example.com"
docroot : "unsecure.{STREAMS}.{ENV}.example.com"
如果保证变量按特定顺序排列(根据您的示例,它们是特定顺序),那么我建议您不要重新发明轮子 :
// Assuming $json contains your JSON
$streams = 'foo';
$env = 'bar';
$data = json_decode($json, TRUE);
var_dump($data['docroot']); // "secure.%s.%s.example.com"
var_dump(sprintf($data['docroot'], $streams, $env)); // "secure.foo.bar.example.com"
如果不能保证变量,或者您只想使用更具描述性的占位符,则只需选择一些唯一的定界符(某些字符或字符集不太可能实际出现在数据中),然后使用str_replace()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.