$sample_text = "Cieker is the largest talentize social and professional networking website, you can view it on https://www.cieker.com and the about video is on https://www.youtube.com/watch?v=jGyZDgpv_Hk";
// Funktion Video-URL aus string
function extract($html)
{
$regex = '/(http:|https:|)\/\/(player.|www.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com))\/(video\/|embed\/|channels\/(?:\w+\/)|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/';
preg_match_all($regex, $html, $match);
$matched = array_unique($match[0]);
usort($matched, function($a, $b)
{
return strlen($b) - strlen($a);
});
return $matched;
}
// ruft Funktion, gibt die youtube oder vimeo url aus einem String zurück.
$check_extract = extract($sample_url);
// Funktion, um den Video-Provider-Namen zu finden.
function videoType($url) {
if (strpos($url, 'youtu') > 0)
{
return 'youtube';
}
else if (strpos($url, 'vimeo') > 0)
{
return 'vimeo';
}
else
{
return 'unknown';
}
}
// ruft Funktion hat url als Parameter extrahiert.
$provider = videoType($check_extract[0]);
// Die folgende Regex wird das Video-ID von oben extrahiert YouTube-URL extrahieren.
if($provider=="youtube")
{
preg_match("/^(?:http(?:s)?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com\/(?:(?:watch)?\?(?:.*&)?v(?:i)?=|(?:embed|v|vi|user)\/))([^\?&\"'>]+)/",$check_extract[0], $matches);?>
$id =$matches[1];
}
else if($provider=="vimeo")
{
preg_match("/(https?:\/\/)?(www\.)?(player\.)?vimeo\.com\/([a-z]*\/)*([0-9]{6,11})[?]?.*/",$check_extract[0], $output_array);?>
$id =$output_array[5];
}
// Dieses Video-ID von youtube/vimeo bekommen.
$video_id = $id;
404 Frage nicht –
@VigneshChinnaiyan, das sieht aus wie eine Antwort gefunden. Was ist die Frage? – jkdev
@jkdev Entschuldigung dafür, dass ich meine Antwort wie eine Frage gepostet habe, ich bezog mich auf stackoverflow und andere Webseiten für diese genaue Antwort. Ich konnte keine Antwort finden, also habe ich gerade an einer Lösung gearbeitet. Um anderen zu helfen, die das als Zweifel bekommen haben, können Sie sich darauf beziehen. Deshalb habe ich als neue Frage gepostet. –