Как проверить, существует ли URL-адрес YouTube или нет в Laravel? - PullRequest
1 голос
/ 10 июля 2019

Я хочу проверить, существует ли введенный URL на YouTube или нет, перед сохранением этого URL в моей базе данных

Я использую этот код

$url = 'https://www.youtube.com/watch?v=KeaoSIKaxeg';
if(preg_match('/http:\/\/www\.youtube\.com\/watch\?v=[^&]+/', $url)) 
{
    dd('match');
}
else 
{
    dd('not match');
}

Я перепробовал все, но ничего не работает. Он всегда возвращает «не совпадает», даже если URL действителен.

Ответы [ 2 ]

3 голосов
/ 10 июля 2019
$headers = get_headers('http://www.youtube.com/oembed?url=https://www.youtube.com/watch?v=KeaoSIKaxeg');
if (!strpos($headers[0], '200')) {
    echo "The YouTube video you entered does not exist";
}
1 голос
/ 10 июля 2019

Вы пытаетесь сопоставить против http://, а не https://:

$url = 'https://www.youtube.com/watch?v=KeaoSIKaxeg';
if(preg_match('/https:\/\/www\.youtube\.com\/watch\?v=[^&]+/', $url)) {
     dd('match');
}
else {
    dd('not match');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...