我想从这里获取第二个字符串/现场视频:https://www.youtube.com/channel/UCRZP4zH-4yPgjzjTsoQp2Eg
使用此PHP,我可以获得第一个字符串/视频:
function get_string_between($string, $start, $end)
{$string = " " . $string;
$ini = strpos($string, $start);
if ($ini == 0) return "";
$ini+= strlen($start);
$len = strpos($string, $end, $ini) - $ini;
return substr($string, $ini, $len);}
$url = file_get_contents('https://www.youtube.com/channel/UCRZP4zH-4yPgjzjTsoQp2Eg');
$url = get_string_between($url, 'vi/', '/');
header("Location: https://www.youtube.com/watch?v=$url");
谢谢。
答案 0 :(得分:0)
您必须使用strpos的偏移量来获取第二个偏移量。我更新了这些行:
$ini = strpos($string, $start);
if ($ini == 0) return "";
成为:
$ini1 = strpos($string, $start);
if ($ini1 == 0) return "";
$ini = strpos($string, $start,$ini1+1);
它所做的只是使用第一个查找的偏移量开始第二个搜索。从长远来看,您可能希望在函数中使用offset参数来选择所需的索引。 get_string_between($string, $start, $end,$offset)