Как отмечают другие в комментариях, это быстрое и грязное решение , которое плохо обрабатывает крайние случаи. Если URL содержит «YouTube» (example.com/youtube), он вернет ложное срабатывание. Решение parse_url()
, упомянутое ниже , является гораздо более надежным решением.
Регулярные выражения хорошо подходят для такого типа вещей, но часто strpos
или substr
являются более быстрыми с точки зрения производительности. Ознакомьтесь с документацией PHP для preg_match()
. Ниже примеров есть примечание именно для этой вещи.
Вот код прототипа:
function videoType($url) {
if (strpos($url, 'youtube') > 0) {
return 'youtube';
} elseif (strpos($url, 'vimeo') > 0) {
return 'vimeo';
} else {
return 'unknown';
}
}
Очевидно, что возвращать строку не лучшая идея, но вы понимаете, в чем дело. Подставьте свою собственную бизнес-логику.