Изваждане на ID от линк

metal_head

Registered
И така, почнах да правя система за добавяне на видео в сайта ми. Въпроса е, че съм на платен хостинг и нямам безкрайно пространство, та идеята ми беше да направя система, с която потребителите просто дават линк към видеото, системата екстрактва ID -то на видеото и го записва в базата данни. Тоест, ако имаме линк към youtube:

http://www.youtube.com/watch?v=HqLw1yQe7Yk&feature=feedlik

Това, което се екстрактва е:
HqLw1yQe7Y.

Не watch?v=HqLw1yQe7Yk&feature=feedlik, не и HqLw1yQe7Yk&feature=feedlik, а просто ID-то.
Това за youtube беше лесно, защото това си е get метод и лесно мога да взема стойността на V. Въпросът ми обаче е как ще направя системата да взима видео от Vbox, тъй като там няма такива променливи в адреса, ами са просто едни ":"
http://vbox7.com/play:2dbb6018

Някой ще каже сега, че е просто, защото трябва да взема всичко след двете точки, проблемът е, че линковете във Vbox също могат да са по-изчанчени с разни допълнения след това, примерно:
http://www.vbox7.com/play:2dbb6018&start=41

Таа единия ми въпрос е как да взема ID-то на видеото? Гледах един урок тук:
http://web-tourist.net/login/login/view.php?st=1176
Но според мен слабото му място е това, че линковете на vbox някой път не се изчерпват само до ID-то на видеото.

Другия въпрос ми е ... по-скоро като анкета:
Качване на видео от кой сайт още би ви зарадвало да има. За сега поддържа качване от youtube, сега работя по vbox, но се чудя на кой сайт още би било добра идея да има поддръжка. (отговорът на този въпрос не е задължителен :) )
 
Код:
<?php
	$vbox1 = "http://www.vbox7.com/play:2dbb6018&start=41";
	
	if(strpos($vbox1, "&") == false) {
		$clip_id = explode(":", $vbox1);
		echo $clip_id['2'];
	} else {
		$clip_id = explode(":", $vbox1);
		$clip_id = explode("&", $clip_id['2']);
		echo $clip_id['0'];
	}
?>

Ако в клиповете може да има само (...)&start=(int).
 
Регулярен израз, който ще вземе id на видеото, независимо, дали има други параметри или не:

Код:
$vbox = "http://www.vbox7.com/play:2dbb6018&start=41";

preg_match('/play:(\w+)/', $vbox, $results);

echo $results[1];
 
Код:
//проверка дали линка е от vbox7
if(eregi('vbox7.com', $_POST['clip'])) {
//разделяне на части на линка
	$datat = explode("play:", $_POST['clip']);
//проверка за броя символи (всички клипове са с по 8 символа)
	if( strlen($datat[1]) == 8) { 
//добавяне в базата данни 
echo $datat[1];
}
}
 

Back
Горе