Jump to content

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


Recommended Posts

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

Link to comment
Share on other 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:

Link to comment
Share on other 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];

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...