这是我的JSON文件 sample.json
describe('Test', function() {
var actionwords = Object.create(Actionwords);
it('Login_Test (uid:fe6d6670-a864-4d0f-a867-3faf9f51ff8d)', function() {
actionwords.toApplicationURL();
});
});
和
{
"lbl_name":"Your name",
"dynamic_name":"Hi, {{ name 1 }}, {{ name 2 }} and {{ name 3 }}"
}
我收到了结果
$content = file_get_contents(sample.json);
$translate = json_decode$content, true);
$replaceContent = preg_replace('/\{{[^)]*\}}/', '%s', $translate);
print_r($replaceContent);
我希望结果应该是
Array ( [lbl_name] => Your name [dynamic_name] => Hi %s )
由于
答案 0 :(得分:1)
你的正则表达式是贪婪的,因此试图匹配它可以获得的最大匹配。
使用<md-slider step="1" md-discrete min="0" max="{{max}}" ng-model="value"></md-slider>
<md-checkbox ng-model="max" ng-true-value="20" ng-false-value="{{baseMax}}">
max 20
</md-checkbox>
<md-checkbox ng-model="max" ng-true-value="40" ng-false-value="{{baseMax}}">
max 40
</md-checkbox>
<md-checkbox ng-model="max" ng-true-value="60" ng-false-value="{{baseMax}}">
max 60
</md-checkbox>
- 控制字符使您的模式非贪婪,这意味着它匹配它可以获得的最小匹配:
?
答案 1 :(得分:1)
检查一下,
$data = '{
"lbl_name":"Your name",
"dynamic_name":"Hi, {{ name 1 }}, {{ name 2 }} and {{ name 3 }}"
}';
$data = json_decode($data, true);
$dynamic_name = $data['dynamic_name'];
$lbl_name = $data['lbl_name'];
preg_match_all('/{{ (.*?) }}/', $dynamic_name, $display);
$dynamic_name = "Hi ".$display[1][0].", ".$display[1][1]." and ".$display[1][2];
$newArray = array('lbl_name'=> $lbl_name, 'dynamic_name'=>$dynamic_name);
print_r($newArray);