PB variable dans récupération de titre de page
Posté : 05 juin 2009, 16:18
Bonjour
L'idée est d'intégrer les outils "social web" sur un site, notamment leur système de recommandation de page. typiquement, pour facebook, cela se code comme suit:
pour l'instant, j'en suis à récupérer l'url avec le code PHP suivant:
Code :
Par contre je n'arrive pas à récupérer le titre. Ci dessous le script qui s'approche le plus du résultat souhaité. :
Vous voyez le problème? l'url doit être défini à la mano. Comment fais je donc pour fusionner les deux scripts et avoir le curPageURL() dans le lien facebook, c.a.d. un url variable?
J'ai vu quelques solutions qui recommandait de créer des bases de données de titre mais je souhaite éviter cela puisque ce serait trop lourd à gérer et une trop grande source d'erreur.
Enfin, je répète la contrainte qui est de pouvoir mettre tout cela dans un include et insérer l'include dans chaque page du site.
Merci d'avance
L'idée est d'intégrer les outils "social web" sur un site, notamment leur système de recommandation de page. typiquement, pour facebook, cela se code comme suit:
<a href="http://www.facebook.com/share.php?
u=URLDELAPAGE.html
&t=TITREDELAPAGE
&summary=RESUME DE LA PAGE
&source=URLSOURCE.html" target="_new">
<img src="share_facebook.gif" border="0" alt="Facebook"></a>
EN principe, on doit donc insérer les variables (url, titre, résumé, source) manuellement. Je cherche donc à remplacer ce "manuellement" par des automatismes et donc à récupérer l'url et le titre (le reste est constant) de la page pour l'insérer dans le lien facebook. Ensuite, l'idée est tout simplement de mettre un include dans toutes les pages.pour l'instant, j'en suis à récupérer l'url avec le code PHP suivant:
Code :
<?php
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
?>
Avec dans le lien Facebook: u=<?php echo curPageURL(); ?>Par contre je n'arrive pas à récupérer le titre. Ci dessous le script qui s'approche le plus du résultat souhaité. :
<?php
function page_title($url) {
$fp = file_get_contents($url);
if (!$fp)
return null;
$res = preg_match("/<title>(.*)<\/title>/", $fp, $title_matches);
if (!$res)
return null;
$title = $title_matches[1];
return $title;
}
?>
avec dans l'url facebook: t=<?php echo page_title("URLDEMAPAGE.HTML"); ?>Vous voyez le problème? l'url doit être défini à la mano. Comment fais je donc pour fusionner les deux scripts et avoir le curPageURL() dans le lien facebook, c.a.d. un url variable?
J'ai vu quelques solutions qui recommandait de créer des bases de données de titre mais je souhaite éviter cela puisque ce serait trop lourd à gérer et une trop grande source d'erreur.
Enfin, je répète la contrainte qui est de pouvoir mettre tout cela dans un include et insérer l'include dans chaque page du site.
Merci d'avance