Rechercher : dans
Par :

[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:15 
 Signaler ce message aux modérateurs

Salut à 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

Meilleures réponses pour « [PHP]REGEX pour interprété une url complexe » dans :
[PHP] Transformer une URL en lien hypertexte cliquable VoirGrâce aux expressions régulières, il est possible de transformer en lien hypertexte toute URL de la forme http://URL (ou ftp://URL) ou bien commençant par www. :
[RegExp] Récupérer une adresse IP VoirFinalité Mise en œuvre Explications Interprétation du motif Récupérer une adresse IP Finalité Pour récupérer une IP dans un fichier texte, fichiers journaux, pages web, etc. Mise en œuvre L'expression régulière suivante combinée à la...
Télécharger PHP FTP Synchronizer VoirLa mise à jour de site web est aussi complexe que sa conception. Alors il faut utiliser le bon outil avec les bon paramètres et une bonne connaissance de programmation pour mettre à jour un site. PHP FTP Synchronizer est une application vous...
PHP - Bases de données VoirPhp permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par Php, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de...
PHP - Expressions régulières VoirQu'est-ce qu'une expression régulière? Les expressions régulières sont des modèles créés à l'aide de caractères ASCII permettant de manipuler des chaînes de caractères, c'est-à-dire permettant de trouver les portions de la chaîne correspondant au...
Introduction à PHP VoirQu'est-ce que PHP? PHP est un langage interprété (un langage de script) exécuté du côté serveur (comme les scripts CGI, ASP, ...) et non du côté client (un script écrit en Javascript ou une applet Java s'exécute sur votre ordinateur...). La...

1

 Moua, le 21 aoû 2007 à 20:56:33
  • +1

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 : ] ]

Répondre à Moua