对不起,我的英语不好。这是我的JSON返回。
如何删除UY268_CR5,0,182,268_AL_
部分。特别是那部分。我有很多这样的链接。每个都有不同的字符串。例如:
如图所示,情况有所不同。我要删除部分UX182_CR0,0,182,268_AL_
。我得到的每个结果都具有几乎相同的结构,但是我要删除的末尾部分。我在laravel上,所以我正在编码来自控制器的jsons结果。有没有人可以用php完成?
更新:
这是我尝试的代码。
$json = json_decode($data,true);
$slice = str_replace("UY268_CR5,0,182,268_AL_","", $json);
return $slice ['poster'];
已删除字符串,但是上面提到的具有不同URL的不同字符串呢?
答案 0 :(得分:0)
您可以结合使用先行和后退
来使用preg_replace()<?php
$re = '/(?<=_V1_)(.+?)(?=.jpg)/';
$str = 'https://m.media-amazon.com/images/M/MV5BYWNlMWMxOWYtZWI0Mi00ZTg0LWEwZTMtZTEzZDY0NzAxYTA4XkEyXkFqcGdeQXVyMTQxNzMzNDI@._V1_UX182_CR0,0,182,268_AL_.jpg';
$subst = '';
$result = preg_replace($re, $subst, $str, 1);
echo "The result of the substitution is ".$result;
?>
REFF: Regex lookahead, lookbehind and atomic groups
regex解释: https://regex101.com/r/aHAw5f/1