The Lootrophile Posté(e) le 13 août 2006 Partager Posté(e) le 13 août 2006 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 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. Lien vers le commentaire Partager sur d’autres sites More sharing options...
astero-H Posté(e) le 13 août 2006 Partager Posté(e) le 13 août 2006 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
The Lootrophile Posté(e) le 13 août 2006 Auteur Partager Posté(e) le 13 août 2006 Merci beaucoup, je t'aime. Lien vers le commentaire Partager sur d’autres sites More sharing options...
The Lootrophile Posté(e) le 13 août 2006 Auteur Partager Posté(e) le 13 août 2006 Je suis désolé d'abuser, mais je bute encore une derniere fois (promis, c'est la dernière ), 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 More sharing options...
theocrite Posté(e) le 13 août 2006 Partager Posté(e) le 13 août 2006 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 More sharing options...
The Lootrophile Posté(e) le 13 août 2006 Auteur Partager Posté(e) le 13 août 2006 Je te remercie Lien vers le commentaire Partager sur d’autres sites More sharing options...
Baldurien Posté(e) le 14 août 2006 Partager Posté(e) le 14 août 2006 Pourquoi se faire chier? parse_url() pour parser l'url et surtout parse_str() Voilà :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
The Lootrophile Posté(e) le 14 août 2006 Auteur Partager Posté(e) le 14 août 2006 Ca fonctionne très bien egalement, je garde cette fonction dans un coin de ma tête, elle est très utile. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Quarky Posté(e) le 14 août 2006 Partager Posté(e) le 14 août 2006 Sinon avec pereg_match preg_match Alors c'est bon ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.