How can I write a function to check whether the provided URLs is youtube or vimeo?
For instance, I have this two URLs that I store in a database as strings,
http://vimeo.com/24456787
http://www.youtube.com/watch?v=rj18UQjPpGA&feature=player_embedded
If the URL is youtube then I will rewrite the URL to,
http://www.youtube.com/embed/rj18UQjPpGA?rel=0&wmode=transparent
If the URL is vimeo then I will rewrite this URL to,
http://vimeo.com/moogaloop.swf?clip_id=24456787
Thanks.
parse_url()
solution mentioned below is a much more robust solution.Regular expressions work well for this type of thing, but often strpos
or substr
are faster performance wise. Check out the PHP documentation for preg_match()
. Below the examples there is a note for exactly this thing.
Here is prototype code:
function videoType($url) {
if (strpos($url, 'youtube') > 0) {
return 'youtube';
} elseif (strpos($url, 'vimeo') > 0) {
return 'vimeo';
} else {
return 'unknown';
}
}
Obviously returning a string isn't the best idea, but you get the point. Substitute your own business logic.