FORMATER UN LIEN YOUTUBE, DAILYMOTION OU VIMEO POUR L'UTILISER DANS SHADOWBOX

cod57 1661 Messages postés dimanche 7 septembre 2008Date d'inscription 11 septembre 2013 Dernière intervention - 16 nov. 2011 à 11:15 - Dernière réponse : uaip 1473 Messages postés mardi 20 février 2007Date d'inscription 7 février 2011 Dernière intervention
- 18 nov. 2011 à 16:48
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

http://codes-sources.commentcamarche.net/source/53761-formater-un-lien-youtube-dailymotion-ou-vimeo-pour-l-utiliser-dans-shadowbox

Afficher la suite 
cod57 1661 Messages postés dimanche 7 septembre 2008Date d'inscription 11 septembre 2013 Dernière intervention - 18 nov. 2011 à 09:49
bonjour

@camillagaiaschicherie
$content = file_get_contents($url);
il y a http://php.net/manual/en/function.get-meta-tags.php

++
camillagaiaschicherie 58 Messages postés vendredi 23 mai 2008Date d'inscription 28 février 2012 Dernière intervention - 18 nov. 2011 à 12:03
COD57

http://php.net/manual/en/function.get-meta-tags.php

"Note:

Seules les balises méta avec un attribut name seront parsées. "
cod57 1661 Messages postés dimanche 7 septembre 2008Date d'inscription 11 septembre 2013 Dernière intervention - 18 nov. 2011 à 14:57
@camillagaiaschicherie

oui tu as raison ma méthode est pas bonne
on ne récupère pas tout avec get-meta-tags
$content = file_get_contents($url); c'est mieux

++
cod57 1661 Messages postés dimanche 7 septembre 2008Date d'inscription 11 septembre 2013 Dernière intervention - 18 nov. 2011 à 15:03
ex

<?php
echo '';
var_dump(get_meta_tags('http://www.youtube.com/watch?v=DLZpJqi3M0k'));
echo '

';

function meta($url){

$content = file_get_contents($url);

$pattern['title'] = '/<meta property="og:title" content="(.+?)"/smi';
$pattern['description'] = '/<meta property="og:description" content="(.+?)"/smi';
$pattern['video'] = '/<meta property="og:video" content="(.+?)"/smi';
$pattern['videoWidth'] = '/<meta property="og:video:width" content="(.+?)"/smi';
$pattern['videoHeight'] = '/<meta property="og:video:height" content="(.+?)"/smi';
$pattern['image'] = '/<meta property="og:image" content="(.+?)"/smi';
$pattern['site_name'] = '/<meta property="og:site_name" content="(.+?)"/smi';

$title = (preg_match($pattern['title'],$content,$match)) ? $match[1] : '';
$description = (preg_match($pattern['description'],$content,$match)) ? $match[1] : '';
$video = (preg_match($pattern['video'],$content,$match)) ? $match[1] : '';
$videoWidth = (preg_match($pattern['videoWidth'],$content,$match)) ? $match[1] : '';
$videoHeight = (preg_match($pattern['videoHeight'],$content,$match)) ? $match[1] : '';
$image = (preg_match($pattern['image'],$content,$match)) ? $match[1] : '';
$site_name = (preg_match($pattern['site_name'],$content,$match)) ? $match[1] : '';

return(array($title,$description,$video,$videoWidth,$videoHeight,$image,$site_name));

}

echo '';
var_dump(meta('http://www.youtube.com/watch?v=DLZpJqi3M0k'));
echo '

';

?>
uaip 1473 Messages postés mardi 20 février 2007Date d'inscription 7 février 2011 Dernière intervention - 18 nov. 2011 à 16:48
cod57, 7 regexp pour parser un lien, c'est BEAUCOUP trop lourd. 1 regexp suffit (tu as des centaines de tutos là dessus).
Imagine un mec qui écrit 10 liens 10 appels à la fonction 70 regexp (en sachant qu'une regexp est recompilée à chaque fois), c'est bien trop gourmand.
Commenter la réponse de cod57

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.