假设我有一个json文件,看起来像:
{
"query":[
{
"pid":"abc"
},
{
"status":"cde"
},
{
"uname":"{{user->username}}"
},
{
"pass":"{{user->password}}"
}
]
}
假设我将其转换为使用json_decode
的php数组,提取{{
之间的值的最简单方法是什么?数组的其余部分为常量。
或者可能有一个工具可以将动态变量/参数放入json文件中,并轻松地将它们提取到php....
我使用Laravel 5.1作为框架。目的是配置系统,为不同的API (serviceabs.json,serviceefg.json)
建立API连接,从中获取不同的数据。这些api有不同的身份验证机制....我也不想把这个机密数据放入json文件,但"注入"它.....当数据准备好后,使用guzzle client建立连接。(填写用户名、密码等后)
例如,这里的"query"数组,将被用作guzzle客户端的GET查询。
可以优化,但请尝试:
$in = "hello {{world}} I am a {{fox}} my name is {{user->username}}";
preg_match_all('/'{'{([A-Za-z0-9 ->]+?)'}'}/', $in, $out);
print_r($out[1]);
输出:
Array ( [0] => world [1] => fox [2] => user->username )
你的案例应该是:
$in = '{{user->username}}';
preg_match_all('/'{'{([A-Za-z0-9 ->]+?)'}'}/', $in, $out);
if(isset($out[1])) {
//there are matched within brackets
echo $out[1][0]; // will output: user->username
}