August 13, 200619 yr 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. Edited August 14, 200619 yr by The Lootrophile
August 13, 200619 yr 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 Edited August 13, 200619 yr by astero-H
August 13, 200619 yr Author 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 =)
August 13, 200619 yr 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];
August 14, 200619 yr Pourquoi se faire chier? parse_url() pour parser l'url et surtout parse_str() Voilà :)
August 14, 200619 yr Author Ca fonctionne très bien egalement, je garde cette fonction dans un coin de ma tête, elle est très utile.
Archived
This topic is now archived and is closed to further replies.