繁体   English   中英

如何在PHP中操作变量占位符?

[英]How can I manipulate variable placeholders in PHP?

如果不将正则表达式保存为json格式,有没有办法使用正则表达式? 我对json感兴趣只是因为我正在使用mongodb,所以输出以json格式输出。 我有一个名为docroot的字段,该字段本质上是目录路径。

docroot : "secure.unstable.qa.example.com"

可能根据其他因素而改变的仅有两块是unstableqa. 我希望找到一种放置“标记”的方法,以便可以轻松地用适当的变量替换它们。

例如:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM