我尝试构建一个 php 正则表达式来验证这种类型的输入字符串:
{name:'something name here',type:'',id:''},{name:'other name',type:'small',id:34},{name:'orange',type:'weight',id:28}
ETC...
因此,它是一个 json 列表,每个包含 3 个字段:名称、类型、id。字段名称始终存在,而 type 和 id 可以一起为空字符串( '' )。然后,如果它具有有效的格式,我可以用逗号将其分解,并获得一个 json 字符串数组。
我能怎么做?
更新 它不是你可以说的有效 json,但我有一个用户放置标签的输入字段,我想跟踪该标签的名称、类型和 ID。例如:tag1(有名字、类型、id)、tags2(只有名字)、tags3(有名字、类型、id)。所以,我认为我可以以这种格式发布一个字符串:
{'name':'test','type':'first','id':3},{'name':'other','type':'second','id':45}, etc
但我必须用正则表达式验证这个字符串。我可以
$data = explode(',',$list);
然后我做:
foreach($data as $d){
$tmp = json_decode($d);
if($tmp == false) echo 'error invalid data';
}