如何解决Laravel无法识别刀片模板中的视频链接应该如何解决?
我正在尝试将从数据库中获取的视频链接嵌入Laravel的刀片页面中。但是,它不起作用。我该如何解决?
这就是我到目前为止所得到的。
控制器代码:
//This returns array of objects like so: [{video: video_link},{video: video_link}]
public function getVideos(){
$videos = Video::select('video_link')->where('d',$this->matchD())->get();
return $videos;
}
刀片页面:
<div class="row">
<div class="col-12 col-md-4 my-2">
@php $videos = app()->call('App\Http\Controllers\ResponseController@getVideos'); @endphp
@foreach($videos as $video)
<div class="embed-responsive embed-responsive-16by9">
<iframe class="embed-responsive-item" src = "{{ url($video['video_link']) }}"></iframe>
</div>
{{ url($video['video_link']) }}
@endforeach
</div>
</div>
解决方法
您无法嵌入常规的youtube链接,因为嵌入的URL不同。
https://www.youtube.com/watch?v=_lkw2xtNMmk
应嵌入为:
<iframe width="560" height="315" src="https://www.youtube.com/embed/_lkw2xtNMmk" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
为此,解决方案将是编写帮助函数,以从URL末尾获取youtube视频ID,然后将ID粘贴到嵌入的iframe代码中。
,使用 parse_url() 和 parse_str()
$url="http://www.youtube.com/watch?v=C4kxS1ksqtw"
parse_str( parse_url( $url,PHP_URL_QUERY ),$my_array_of_vars );
echo $my_array_of_vars['v'];
// Output: C4kxS1ksqtw
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。