我有一个来自API的响应,其中包含如下链接。['link'] => items/892320
.
有几个链接,所以我循环访问以获取所有链接。
在我看来,我只想显示URL的最后一部分,即892320
在刀片中,如下所示
视图
@foreach($export_details['body']['data'] as $export_detail)
<div class="view">
<div class="time">0:{{$export_detail['duration']}}</div>
<div class="time">0:{{$export_detail['name']}}</div>
<iframe src="{{$export_detail['link']}}" width="345" height="200" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>
</div>
@endforeach
控制器
public function index()
{
$response = $client->request('/users/id/items', array(), 'GET');
$results = json_decode(json_encode($response),true);
$export_details = $results;
return view('home',compact('export_details'));
}
如何仅显示 url 的最后一部分作为我的 iframe 源?
假设链接将始终遵循模式"items/{标识符}">
使用ltrim
从链接开头删除"项目/"。
ltrim($export_detail['link'], 'items/')
如果您从 API 接收的所有链接都遵循相同的格式,则可以通过稍微调整控制器以在将链接发送到视图之前对其进行按摩来实现此目的:
public function index(){
$response = $client->request('/users/id/items', array(), 'GET');
$results = json_decode(json_encode($response),true);
$export_details = $results;
$export_details['link'] = array_slice(explode('/', $export_details['link']), -1)[0];
return view('home',compact('export_details'));
}
以下是 explode(( 和 array_slice(( PHP 函数的链接供您参考。