PHP只提取字符串中两个字符之间的特定部分
如何从下面的主字符串中仅提取子字符串PHP只提取字符串中两个字符之间的特定部分,php,string,substring,Php,String,Substring,如何从下面的主字符串中仅提取子字符串。\/files\/listo\u bfty77a3.jpg [ { "name":"..\/files\/listo_bfty77a3.jpg", "usrName":"Listo.jpg", "size":188126, "type":"image\/jpeg", "searchStr":"Listo.jpg,!:sStrEnd" } ] 实际上,我需要从第十一个字符开始到第一个字符
。\/files\/listo\u bfty77a3.jpg
[
{
"name":"..\/files\/listo_bfty77a3.jpg",
"usrName":"Listo.jpg",
"size":188126,
"type":"image\/jpeg",
"searchStr":"Listo.jpg,!:sStrEnd"
}
]
实际上,我需要从第十一个字符开始到第一个字符结束的内容”
提前感谢您发布的字符串是某些数据结构的表示形式。请使用PHP函数对其进行解码;将
TRUE
作为第二个参数传递,以返回数组:
$text = '[
{
"name":"..\/files\/listo_bfty77a3.jpg",
"usrName":"Listo.jpg",
"size":188126,
"type":"image\/jpeg",
"searchStr":"Listo.jpg,!:sStrEnd"
}
]';
$data = json_decode($text, TRUE);
如果您不说JSON
,或者数据结构很厚,并且第一眼就看不懂JSON
,请使用查看数据结构的外观
print_r($data);
它显示:
Array
(
[0] => Array
(
[name] => ../files/listo_bfty77a3.jpg
[usrName] => Listo.jpg
[size] => 188126
[type] => image/jpeg
[searchStr] => Listo.jpg,!:sStrEnd
)
)
现在很清楚,您所需的属性可以作为
$data[0]['img']
访问,或者,您可以解码JSON并访问名称条目。我已经尝试过了,但无法使用$String=JSON\u decode($reportdata['img']);$repImg=$String['name'];$String=JSON\u decode($reportdata['img']);//print\r($String)$img=$String->0;仔细查看print\u r()
的输出。如果不将TRUE
作为第二个参数传递给json\u decode()
,则会得到一个数组,其中包含一个具有name
、size
等属性的对象。