Vložit v Laravelu video z YouTube není nic složitého. Pro jeho vložení využijeme balíček laravel-embed, který nám práci neskutečně ulehčí.

Jakmile je balíček nainstalován, tak ho můžeme jednoduše použít pomocí blade komponenty x-embed s URL videa v url atributu:

<x-embed url="https://www.youtube.com/watch?v=oHg5SJYRHA0" />

Díky tomu se vyrenderuje video v iFrame. Vše je automaticky responzivní a nemusíme vkládat pouze videa z YouTube - balíček také podporuje Vimeo, Dailymotion a další služby. A to je vše, nic víc není potřeba nastavovat.

Knihovna laravel-embed obsahuje také další funkce jako validace:

use BenSampo\Embed\Services\Vimeo;
use BenSampo\Embed\Services\YouTube;
use BenSampo\Embed\Rules\EmbeddableUrl;

public function store(Request $request)
{
    $this->validate($request, [
        'url' => [
            'required', 
            (new EmbeddableUrl)->allowedServices([
                YouTube::class,
                Vimeo::class
            ])
        ],
    ]);
}

nebo nastavení poměru stran:

<x-embed url="https://www.youtube.com/watch?v=oHg5SJYRHA0" aspect-ratio="4:3" />