Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/08/2007, 12h12   #1
Invité de passage
 
Inscription : août 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 9
Points : 2
Points : 2
Par défaut Extraire url (sous domaine)

Bonjour,

Voila je suis pas très fort avec les regex et la j' ai besoin d'une assez compliqué.
Donc je veux que ma regex trouve dans $string les adresses qui commencent par [http://] ensuite avec autant de caractères que l'on veut mais seulement des chiffres ou lettres ensuite un point (limite entre le sous domaine et le domaine) ensuite mondomaine.fr ou mondomaine.com, puis le chemin du fichier sur le serveur ([a-z0-9._/-]) et enfin je veux que ça finisse pas soit .com ou .fr ou un / ou .php ou .html.

Voila donc j'ai fait cette regex mais elle marche pas du tout :

Code :
(preg_match_all('#^[http://][a-z0-9]+.[domaine.com|domaine.fr][a-z0-9._/-]+[.php|.htm|.html|.fr|.com|/]$#',$page,$matches))
et donc les resultats doivent aller dans $matches .

Voila merci d'avance ;-)
play_all est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 15h13   #2
Membre chevronné
 
Avatar de Korko Fain
 
Étudiant
Inscription : août 2005
Messages : 632
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2005
Messages : 632
Points : 632
Points : 632
hum les [] ce sotn des classes. Pour les alternatives utilise plutot les ()
Code :
#http://[a-z0-9]+\.domaine\.(?:com|fr)(?:/(?:[a-z0-9._/-]+\.(?:php|htm|html))?)?#
(a tester)
Korko Fain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 16h13   #3
Invité de passage
 
Inscription : août 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 9
Points : 2
Points : 2
Par défaut ok

Impec ! merci ça marche ! Juste un petit truc je voudrais garder ce qu'il y a après le ? pour les fichiers php par ex :
Code :
http://www.domaine.com/un/chemin/le_php.php?un_arg=sa_valeur&un_autre=sa_val&encore_un=voila
C'est possible ?

PS : - Spidercochon, spidercochon, il peut marcher au plafond. Est-ce qu'il peuuuut faire une toile ? Bien sûr que non, c'est un cochon. Prends gaaaaarde, Spidercochon est là. ===> je kiffe
play_all est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 16h16   #4
Membre chevronné
 
Avatar de Korko Fain
 
Étudiant
Inscription : août 2005
Messages : 632
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2005
Messages : 632
Points : 632
Points : 632
Code :
#http://[a-z0-9]+\.domaine\.(?:com|fr)(?:/(?:[a-z0-9._/-]+\.(?:php|htm|html))?\??([a-z0-9_.%&=+;-]*))?#
Korko Fain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 16h37   #5
Invité de passage
 
Inscription : août 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 9
Points : 2
Points : 2
Merci d'avoir répondu aussi vite, ça marche merci beaucoup !!
Juste une dernière question il me renvoie un tableau avec comme premiere cle un tableau qui contient toutes les adresses (cool) et en deuxieme cle un autre tableau qui contient que des petits bout d'adresse ( qui sont apres le php? je crois) ça vien de quoi ?
au pire je m'en fiche j'ignore cette clé mais si qq1 sait !

Voila merci encore !
play_all est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 17h46   #6
Membre chevronné
 
Avatar de Korko Fain
 
Étudiant
Inscription : août 2005
Messages : 632
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2005
Messages : 632
Points : 632
Points : 632
Pour le premier c'est normal $matches[0] c'est tout ce qui correspond à ce que tu as demander et $matches[1] c'est ce que tu voulai (à savoir les parametres de fin).

Si tu veux que soient regroupés ensemble l'adresse complete et les parametres (genre $matches[0][0] => url complete, $matches[0][1] => parametres), faut ajouter un flag à la fin regarde la doc officielle.
Korko Fain est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h25.


 
 
 
 
Partenaires

Hébergement Web