Posté(e) le 13 août 200618 a 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. Modifié le 14 août 200618 a par The Lootrophile
Posté(e) le 13 août 200618 a 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 Modifié le 13 août 200618 a par astero-H
Posté(e) le 13 août 200618 a Auteur 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 =)
Posté(e) le 13 août 200618 a 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];
Posté(e) le 14 août 200618 a Pourquoi se faire chier? parse_url() pour parser l'url et surtout parse_str() Voilà :)
Posté(e) le 14 août 200618 a Auteur Ca fonctionne très bien egalement, je garde cette fonction dans un coin de ma tête, elle est très utile.
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.