Heim >Backend-Entwicklung >PHP-Tutorial >Wie extrahiere ich YouTube-Video-IDs aus URLs mit PHP?

Wie extrahiere ich YouTube-Video-IDs aus URLs mit PHP?

Susan Sarandon
Susan SarandonOriginal
2024-10-31 08:20:38485Durchsuche

How to Extract YouTube Video IDs from URLs Using PHP?

So extrahieren Sie YouTube-Video-IDs mit PHP

Einführung

Extrahieren von YouTube-Video-IDs aus URLs sind für viele Anwendungen von entscheidender Bedeutung. Dadurch können Entwickler Videos anhand ihrer eindeutigen IDs identifizieren und verarbeiten. Während die YouTube-API hierfür keine direkte Funktion bereitstellt, stehen andere Methoden zur Verfügung.

Regex-basierter Ansatz

Eine gängige Lösung besteht darin, einen regulären Ausdruck zu verwenden Extrahieren Sie die Video-ID aus der URL. Die folgende Funktion stellt eine Implementierung in PHP bereit:

<code class="php">function youtube_id_from_url($url) {
    $pattern = '%^
        (?:https?://)?  # Optional scheme. Either http or https
        (?:www\.)?      # Optional www subdomain
        (?:             # Group host alternatives
          youtu\.be/    # Either youtu.be,
        | youtube\.com  # or youtube.com
          (?:           # Group path alternatives
            /embed/     # Either /embed/
          | /v/         # or /v/
          | /watch\?v=  # or /watch\?v=
          )             # End path alternatives.
        )               # End host alternatives.
        ([\w-]{10,12})  # Allow 10-12 for 11 char youtube id.
        $%x';
    $result = preg_match($pattern, $url, $matches);
    if ($result) {
        return $matches[1];
    }
    return false;
}</code>

Beispielverwendung

Um die Funktion zu verwenden, übergeben Sie einfach die YouTube-URL als Parameter:

<code class="php">$video_id = youtube_id_from_url('http://youtu.be/NLqAF9hrVbY');
echo $video_id; // NLqAF9hrVbY</code>

YouTube oEmbed-Dienst

Auch wenn es sich nicht direkt um eine API-Funktion handelt, bietet YouTube einen oEmbed-Dienst an. Indem Sie eine Anfrage an eine bestimmte URL mit der Video-URL als Parameter stellen, können Sie zusätzliche Informationen über das Video, einschließlich seiner ID, abrufen. Diese Methode bietet möglicherweise mehr Kontext und ermöglicht die URL-Validierung.

<code class="php">$url = 'http://youtu.be/NLqAF9hrVbY';
$oembed_url = sprintf('http://www.youtube.com/oembed?url=%s&amp;format=json', urlencode($url));
$oembed_response = json_decode(file_get_contents($oembed_url));
if ($oembed_response) {
    $video_id = $oembed_response->video_id;
}</code>

Das obige ist der detaillierte Inhalt vonWie extrahiere ich YouTube-Video-IDs aus URLs mit PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn