|
|
|
|
[PHP]REGEX pour interprété une url complexe
Dernière réponse le 31 aoû 2007 à 09:04:11 maxwells, le 21 aoû 2007 à 18:58:15Salut à tous,
Je connais l'étendu des possibilité des expressions régulières mais je suis incapable d'en écrire une.
Je voudrais savoir comment faire pour récupérer les diverses informations dans une URL par exemple http://www.google.fr/...
ici le protocole est : http
le serveur est : www.google.com
et les variable get sont : q = regex+pour+interpr%C3%A9ter+une+url+complexe
sourceid=navclient-ff
ie=UTF8
... etc...
je sais pas si les regex sont la meilleures méthodes pour récupérer ces infos, mais bon, si quelqu'un sait le faire et à du temps à me consacrer, je voudrais une fonction dans laquelle on passe en argument l'url et cette fonction renvoie un array de cette forme :
Array {
[1] -> "http"
[2] -> "www.google.com"
[3] -> Array {
["q"] -> "regex+pour+interpr%C3%A9ter+une+url+complexe"
["sourceid"] -> "navclien-ff"
...
}
}
avec dans [3] autant de variable que d'arguments si c'est possible...
Je vous remercie d'avance de votre aide...
Si je ne suis pas assez clair relancer moi, je répondrais à toutes vos questions... Merci à tous. M@xwells M@ni@c.
Acceptons la vie comme elle est.
Configuration: Windows XP Firefox 2.0.0.5
Si tu veux, je peux te sortir un truc comme ca :
Array
(
[0] => http://www.google.fr/...
[1] => http
[2] => ht
[3] => www.google.fr
[4] => Array
(
[0] => q=regex+pour+interpr%C3%A9ter+une+url+complexe
[1] => sourceid=navclient-ff
[2] => ie=UTF-8
[3] => rlz=1B3GGGL_frFR213FR213
)
)
c'est grâce à ca : $test = "http://www.google.fr/..."; $pattern = '/((ht|f)tps?):\/\/(:alnum:+[.[:alnum:]]*\.[a-zA-Z]{2,4})\/[.[:alnum:]]*\?(.*)/'; preg_match($pattern, $test, $array); $array[4]=explode("&", $array[4]); print_r($array); Attention, remplace un :alnum: par [ [ : a l n u m : ] ] |

