如果您有任何PHP方面的经验,甚至是基本经验,那么可以直接进行设置。
看看explode
和substr
.
<?php
// explode() will split the string up into an array, for ex:
$youtube_url = \'https://www.youtube.com/watch?v=dQw4w9WgXcQ\';
$youtube_array = explode(\'?v=\', $youtube_url);
// we used \'?v=\' as the delimter, so explode will create an array of two parts, the first being everything before the delimiter and the second being everything after (the YouTube ID)
print_r($youtube_array);
// will print: Array ( [0] => https://www.youtube.com/watch [1] => dQw4w9WgXcQ )
echo $youtube_array[1];
// will echo: dQw4w9WgXcQ
?>
如果您输入的所有YouTube链接都遵循完全相同的格式(例如:
https://www.youtube.com/watch?v=dQw4w9WgXcQ) 那么我们在这里的工作就完成了。但是,我们都知道YouTube链接有各种形状和大小,并附加了额外的变量。
<?php
// lets use a more complicated link
$youtube_url = \'https://www.youtube.com/watch?v=dQw4w9WgXcQ&list=RDdQw4w9WgXcQ#t=0\';
$youtube_array = explode(\'?v=\', $youtube_url);
print_r($youtube_array);
// will print: Array ( [0] => https://www.youtube.com/watch [1] => dQw4w9WgXcQ&list=RDdQw4w9WgXcQ#t=0 )
echo $youtube_array[1];
// will echo: dQw4w9WgXcQ&list=RDdQw4w9WgXcQ#t=0
// we can use substr() to pull out just the id by cuting it down to the first 11 characters of the string, all YouTube IDs are 11 characters
$youtube_id = substr($youtube_array[1], 0, 11);
echo $youtube_id;
// will echo: dQw4w9WgXcQ
?>
当然,一些YouTube链接也可以遵循以下格式:
http://youtu.be/dQw4w9WgXcQ
. 将使用不同的分隔符
.be/
您可以编写一个函数来检查两者。请告诉我们您的PHP经验水平。并检查所有链接的格式。看看上面这两个函数。