Pereiti prie turinio

[Pasidalinu] Youtube vaizdelio informacija


Rekomenduojami pranešimai

Prireike tokio skripto, kuris grazintu informacija apie youtube vaizdeli pagal youtube nuoroda. Pasirasiau sioki toki, tai pasidalinu gal kam pravers.

 

function yt($vid, $what = "title") { 

//Author: TheChosenOne [email protected]
// $vid = Youtube video unikalus ID
// $what reiksmes:
// title = Pavadinimas (title)
// description = Aprasymas (description)
// author = Autorius (author)
// duration = Trukme sekundemis (duration in seconds)
// voters = Balsavusiu kiekis (vote count)
// rating = Reitingas (rating)
// viewers = Perziuru kiekis (View count)
// keywords = Raktazodziai (keywords)
// category = Kategorija (category)
// thumbnailSmall = Mazas paveikslelis (small thumbnail)
// thumbnailBig = Didelis paveikslelis (big thumbnail)


if(strlen($vid) > 0) {
	$url = "http://gdata.youtube.com/feeds/api/videos/$vid";
	$content = htmlspecialchars(@file_get_contents($url)); 

	if(strlen($content) > 0) { 
		if($what == "title") {
			$array = explode("media:title type='plain'", $content);
			$array2 = explode("/media", $array[1]); }

		if($what == "description") {
			$array = explode("media:description type='plain'", $content);
			$array2 = explode("/media:description", $array[1]);
			if(strlen($array2[1]) < 1) { $array2[0] = "Nera informacijos!"; }}

		if($what == "author") {
			$array = explode("name", $content);
			$array2 = explode("/name", $array[1]);
			$array2[0] = substr($array2[0],0,-1); }

		if($what == "duration") {
			$array = explode("yt:duration seconds='", $content);
			$array2 = explode("'/", $array[1]); }

		if($what == "voters") {
			$array = explode("numRaters='", $content);
			$array2 = explode("'", $array[1]); }

		if($what == "viewers") {
			$array = explode("viewCount='", $content);
			$array2 = explode("'", $array[1]); }

		if($what == "rating") {
			$array = explode("rating average='", $content);
			$array2 = explode("'", $array[1]); }

		if($what == "keywords") {
			$array = explode("media:keywords", $content);
			$array2 = explode("/media:keywords", $array[1]);
			$array2[0] = substr($array2[0],0,-1); }

		if($what == "category") {
			$array = explode("categories.cat' term='", $content);
			$array2 = explode("'", $array[1]); }

		$result = str_replace(">", "", $array2[0]);
		$result = str_replace("<", "", $result);

		if($what == "rating") { $result = round($result, 2); }
		if($what == "thumbnailSmall") { $result = "http://i.ytimg.com/vi/$vid/1.jpg"; }
		if($what == "thumbnailBig") { $result = "http://i.ytimg.com/vi/$vid/0.jpg"; }

	} else { 
		$result = "Klaida!";
		if($what == "thumbnailSmall") { $result = "http://cmo.lt/rss/rss.png"; }
		if($what == "thumbnailBig") { $result = "http://cmo.lt/rss/rss.png"; }
	}

} else {
	$result = "Tuscias ID!"; }

if(strlen($result) < 1) { $result = "Informacijos nera!"; }

return nl2br($result); 
}

 

Galima gal ir kitaip padaryt ir netgi geriau turbut, bet tik taip sugalvojau. :D

 

cia galima paziuret kaip veikia:

http://cmo.lt/yt/index.php?url=-91al_z8Szs

 

url reiksme pakeist reik i unikalu vaizdelio ID.

Redagavo TheChosenOne
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Galima gal ir kitaip padaryt ir netgi geriau turbut, bet tik taip sugalvojau. :D

 

Galima naudoti PHP SimpleXML extension ir Google gražintą XML paversti į objektą:

 

// Imam XML ir konvertuojam i SimpleXML objekta
$video = simplexml_load_file($url);

// Imam objekto informacija
$title = $video->title;
$author = $video->author->name;

// "media" grupei reikia papildomo zingsnio
$media = $video->children('http://search.yahoo.com/mrss/');

// Imam "media" informacija
$description = $media->group->description;
$keywords = $media->group->keywords;

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Galima naudoti PHP SimpleXML extension ir Google gražintą XML paversti į objektą:

 

// Imam XML ir konvertuojam i SimpleXML objekta
$video = simplexml_load_file($url);

// Imam objekto informacija
$title = $video->title;
$author = $video->author->name;

 

Dekui. :) Geriau zymiai. As ta simplexml bandziau, bet va is media nepavyko pasigrazinti informacijos. Pakoregavau tavo koda i koki as naudojau. :)

Redagavo TheChosenOne
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Dekui. :) Geriau zymiai. As ta simplexml bandziau, bet va is media nepavyko pasigrazinti informacijos. Pakoregavau tavo koda i koki as naudojau. :)

 

Atkreip dėmesį į pagrindinį (root) XML elementą:

 

<entry xmlns='http://www.w3.org/2005/Atom' xmlns:media='http://search.yahoo.com/mrss/' xmlns:gd='http://schemas.google.com/g/2005' xmlns:yt='http://gdata.youtube.com/schemas/2007'>

 

Čia "xmlns:media", "xmlns:gd" ir "xmlns:yt" yra namespace priedėliai (prefix) ir jiems priklausantys elementai prasideda su nurodytu priedėliu, pvz. <media:group>, <gd:comments>, <yt:statistics>. Todėl norint gauti šiuos elementus, reikia nurodyti jų namespace:

 

$media = $video->children('http://search.yahoo.com/mrss/');
$gd = $video->children('http://schemas.google.com/g/2005');
$yt = $video->children('http://gdata.youtube.com/schemas/2007');

 

Su <yt:statistics> šiek tiek skirtinga situacija, nes skirtingai nuo kitų elementų, informacija laikoma kaip elemento atributai - "<yt:statistics favoriteCount='372' viewCount='84550'/>". Todel reikia naudoti SimpleXML attributes() metodą:

 

$yt = $video->children('http://gdata.youtube.com/schemas/2007');

$attr = $yt->statistics->attributes();

$favorites = $attr->favoriteCount;
$views = $attr->viewCount;

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Populiaru šiuo metu

  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...