nic*_*rma 2 php regex arrays wordpress serialization
我正在使用新的wordpress插件,但我需要一个常规的expresison的帮助,所以,如果你能帮助,我有这个
a:6:{s:5:"width";s:4:"3000";s:6:"height";s:4:"2100";s:14:"hwstring_small";s:23:"height=\'89\' width=\'128\'";s:4:"file";s:25:"2012/02/sopa_nicearma.jpg";s:5:"sizes";a:3:{s:9:"thumbnail";a:3:{s:4:"file";s:23:"sopa_nicearma-15x10.jpg";s:5:"width";s:2:"15";s:6:"height";s:2:"10";}s:6:"medium";a:3:{s:4:"file";s:25:"sopa_nicearma-300x210.jpg";s:5:"width";s:3:"300";s:6:"height";s:3:"210";}s:5:"large";a:3:{s:4:"file";s:25:"sopa_nicearma-700x490.jpg";s:5:"width";s:3:"700";s:6:"height";s:3:"490";}
}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}
Run Code Online (Sandbox Code Playgroud)
但我想删除这个
s:9:"thumbnail";a:3:{s:4:"file";s:23:"sopa_nicearma-15x10.jpg";s:5:"width";s:2:"15";s:6:"height";s:2:"10";}
Run Code Online (Sandbox Code Playgroud)
并最终有这个
'a:6:{s:5:"width";s:4:"3000";s:6:"height";s:4:"2100";s:14:"hwstring_small";s:23:"height=\'89\' width=\'128\'";s:4:"file";s:25:"2012/02/sopa_nicearma.jpg";s:5:"sizes";a:3:{s:6:"medium";a:3:{s:4:"file";s:25:"sopa_nicearma-300x210.jpg";s:5:"width";s:3:"300";s:6:"height";s:3:"210";}s:5:"large";a:3:{s:4:"file";s:25:"sopa_nicearma-700x490.jpg";s:5:"width";s:3:"700";s:6:"height";s:3:"490";}
}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}
Run Code Online (Sandbox Code Playgroud)
所以,最后我要删除,这种删除
链{链"名称图像"链}
我有这个想法
chain { chain "name image " chain}
Run Code Online (Sandbox Code Playgroud)
但是不行,因为我有这个
$var = preg_replace("(.+)\{(.+)(sopa_nicearma\-15x10\.jpg)(.+)\}/", "", $var);
Run Code Online (Sandbox Code Playgroud)
你不应该用正则表达式来做这件事.这些是序列化对象,如果您手动编辑其中的任何内容,这会更改任何包含字符串的长度,您还必须更改长度参数.
相反,您应该通过$data = unserialize($data);进行更改来反序列化数据,然后再使用它进行序列化$data = serialize($data);.