我需要YouTube视频链接的ID。如何用PHP解析?
第一个链接:https://www.youtube.com/watch?v= sEhy-RXkNo0
第二个链接:https://youtu.be/ sEhy-RXkNo0
答案 0 :(得分:2)
由于链接不会总是处于漂亮的格式,并且可能有其他GET值,因此最好使用正则表达式。
<?php
$link1 = "https://www.youtube.com/watch?v=sEhy-RXkNo0";
$link2 = "https://www.youtu.be/sEhy-RXkNo0";
preg_match("/\?v=([^&]+)/", $link1, $id1);
preg_match("/youtu.be\/([^&]+)/", $link2, $id2);
$id1 = (isset($id1[1])) ? ($id1[1]) : (NULL);
$id2 = (isset($id2[1])) ? ($id2[1]) : (NULL);
答案 1 :(得分:0)
$data = " https://www.youtube.com/watch?v=sEhy-RXkNo0"; //youtube link
$data2 = "https://youtu.be/sEhy-RXkNo0";
$link= substr($data, strpos($data, "v=") + 2); //for first link
$anotherLink = substr($data, strpos($data, "e/") + 2); //for secondlink