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

Messages postés
1660
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
- - Dernière réponse : uaip
Messages postés
1470
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
- 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
Messages postés
1660
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
8 -
bonjour

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

++
camillagaiaschicherie
Messages postés
58
Date d'inscription
vendredi 23 mai 2008
Statut
Membre
Dernière intervention
28 février 2012
-
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
Messages postés
1660
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
8 -
@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
Messages postés
1660
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
8 -
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
Messages postés
1470
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
-
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