在输入中嵌入 youtube 视频 Laravel 7

Embed youtube videos in an input Laravel 7

我正在寻找一些包或用户可以通过输入添加 YouTube 视频的 url 并正确添加和预览的正确方法。

我的代码创建:

$properties = Property::create([
    'video' =>  $this->video,
])

查看:

<input wire:model="video" class="form-control" type="text" placeholder="Url youtube">

如果我将其添加为 url,则视频不会显示,它会预览 url。 如果我将它作为 iframe 插入,它会起作用。

请问直接插入视频地址怎么办?

查看 YouTube Embedded Players and Player Parameters 页面,嵌入式视频的 URL 应该采用这种格式 https://www.youtube.com/embed/VIDEO_ID 并且在 iframe 中:

<iframe id="ytplayer" type="text/html" width="640" height="360"
  src="https://www.youtube.com/embed/M7lc1UVf-VE?autoplay=1&origin=http://example.com"
  frameborder="0"></iframe>

因此您需要从中提取 VIDEO_ID。我将从 another SO answer 那里借用一些代码并建议使用以下代码:

$url = 'https://www.youtube.com/watch?v=C4kxS1ksqtw&feature=relate';
parse_str(parse_url($url, PHP_URL_QUERY), $my_array_of_vars);
echo $my_array_of_vars['v'];

// Output: C4kxS1ksqtw