Aller au contenu

[resolutionné] Récupérer Une Variable Dans Une Url


Messages recommandés

Le titre n'est pas très explicite, et la question simplicime, après cinq de trituration de mes méninges sur PHP, je suis etonné de ne pas savoir le faire, je m'excuse donc de mon inculture.

Je cherche à récolter la requête de mes visiteurs sur un moteur de recherche pour les aiguiller sur mon site (par exemple, un visiteur de google tape les mots clefs "vidéo guignols", plutot que d'avoir une page de 20 résultats pas pertinents, le site detecte que la personne vient de google avec son refer, recherche les mots clefs dans la bdd et affiche en haut de page les résultats les plus pertinents)

Tout ceci n'est pas difficile à mettre en oeuvre, et j'ai honte de bloquer sur le point le plus facile :transpi:

Quelle est la commande php pour tirer du refer un bout de chaine (du type "www.google.fr") ? en SQL, ça donnerait :

where `refer` LIKE "%www.google.fr%", mais en php ?

J'ai tout essayé, dans ma fonction IF, mais rien ne semble fonctionner. :/

Merci d'avance pour votre aide. :D

Lien vers le commentaire
Partager sur d’autres sites

si tu connais les expressions régulières :

http://fr3.php.net/manual/fr/ref.pcre.php

c'est les fonctions preg_*()

par exemple si tu veux savoir si la chaine str contient ou non "www.google.fr" tu fais

if (preg_match("/www\.google\.fr/i", $str) // trouvé
else // pas trouvé

C'est vachement puissant les expressions régulières, c'est bien de connaitre ça :eeek:

Lien vers le commentaire
Partager sur d’autres sites

Je suis désolé d'abuser, mais je bute encore une derniere fois (promis, c'est la dernière :reflechis:), je n'arrive pas à découper une URL contenue dans une variable pour simplement avoir la valeur de $q (par exemple dans l'url : http://www.google.fr/search?hl=fr&clie...rcher&meta= )

Un peu d'aide est possible ? Merci =)

Lien vers le commentaire
Partager sur d’autres sites

Tu peux utiliser explode pour récupérer toutes les variables :

$vars = explode("&", $url);

(en virant le début bien sûr).

Sinon avec pereg_match

$pattern = '/[&?]q=([^&\/]*)/';
$url = 'http://www.google.com/search?q=lol&start=0&ie=utf-8&oe=utf-8&client=firefox&rls=org.mozilla:en-US:unofficial';
preg_match ($pattern, $url, $vars);
echo $vars[1];

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...