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 02/04/2011, 13h11   #1
Nouveau Membre du Club
 
Homme Antoine Martin
Étudiant
Inscription : janvier 2008
Messages : 151
Détails du profil
Informations personnelles :
Nom : Homme Antoine Martin
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2008
Messages : 151
Points : 39
Points : 39
Par défaut Expression régulière url+chemin_fichier/fichier.ext

Bonjour,

je tente depuis hier soir de mettre au point un masque pour rechercher dans des lignes de codes html une url ( il peut en exister plusieurs )

mon url se découpe sous 4 cas possibles :

wwwXXXX.nomdomaine.com/files/chemin_fichier/fichier.ext
wwwXXX.nomdomaine.com/files/chemin_fichier/fichier.ext
wwwXXX.nomdomaine.com/files/chemin_fichier/fichier
wwwXXXX.nomdomaine.com/files/chemin_fichier/fichier

sachant que le XXXX ce sont des entiers mais il peut en y avoir 3 comme 4.

le files et le seul morceau qui ne change jamais

tout cela se trouve dans une balise href donc on peut s'arreter au double quote

Pour le moment je disposais de ceci :

Code PHP :
$reg_exp = '#(www[0-9]{3}\.megaupload\.com\/files\/[a-zA-Z0-9 ]+\/[a-zA-Z0-9 ]+\.([a-z]{3}))#';

et je faisais un preg match dessus

Normalement dans ma page html il n'existe qu'une seule url de ce type la mais il peut y avoir d'autre url normale sans le XXX.

Si vous pouviez m'aider a améliorer mon filtre ça serait sympa

Merci d'avance
Antoine
__________________
Mon site web : techpaf
antoine974 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2011, 13h29   #2
Membre éclairé
 
Avatar de beejeridou
 
Homme
Webmaster
Inscription : février 2007
Messages : 261
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : février 2007
Messages : 261
Points : 315
Points : 315
Si j'ai bien compris, tu veux que les XXX soient facultatifs et que quand ils existent, ils soient soit à 3 soit à 4 chiffres?

Code :
1
2
3
4
 
 
//J'ai juste mis le début
$reg_exp = '#(www([0-9]{3,4})?\.megaupload\.com\...';
Je n'ai pas testé evidemment mais en gros le point d'interrogation permet de rendre la nouvelle parenthèse facultative. J'ai rajouté le fait qu'on autorise 3 ou 4 chiffres après les www.

Il existe un super logiciel que j'utilise c'est regex coatch, il te permet de construire tes regex et de les tester en temps réel.

J'espère avoir pu t'aider!
__________________
Et pourtant... Elle tourne.
http://www.artisan-developpeur.fr
beejeridou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2011, 13h36   #3
Nouveau Membre du Club
 
Homme Antoine Martin
Étudiant
Inscription : janvier 2008
Messages : 151
Détails du profil
Informations personnelles :
Nom : Homme Antoine Martin
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2008
Messages : 151
Points : 39
Points : 39
Je viens de voir que le nombre de X peut-être également a 2 -_-

du coup ça donne ça j'ai juste ajouter le 2 a ce que tu m'avais dit de rajouter :

Code PHP :
$reg_exp = '#(www([0-9]{2,3,4})\.megaupload\.com\/files\/[a-zA-Z0-9 ]+\/[a-zA-Z0-9 ]+\.([a-z]{3}))#';

pour 4 XXXX cela fonctionne mais pour 3 et 2 cela ne fonctionne pas :'(
__________________
Mon site web : techpaf
antoine974 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2011, 14h45   #4
Membre éclairé
 
Avatar de beejeridou
 
Homme
Webmaster
Inscription : février 2007
Messages : 261
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : février 2007
Messages : 261
Points : 315
Points : 315
Tu dois préciser la valeur minimale et la maximale uniquement.

{2,4}

Ca devrait le faire!
__________________
Et pourtant... Elle tourne.
http://www.artisan-developpeur.fr
beejeridou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 11h10   #5
Nouveau Membre du Club
 
Homme Antoine Martin
Étudiant
Inscription : janvier 2008
Messages : 151
Détails du profil
Informations personnelles :
Nom : Homme Antoine Martin
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2008
Messages : 151
Points : 39
Points : 39
Salut,

Je continue donc sur mon expression régulire qui ne fonctionne pas :

je fais le test ici :

http://www.nvcc.edu/home/drodgers/ce...est_regexp.asp

avec cette expression :
#(www([0-9]{1,4})\.megaupload\.com\/files\/[a-zA-Z0-9 ]+\/[a-zA-Z0-9 ]+\.([a-z]{3}))#

pour mon php :
Code php :
$reg_exp = '#(www([0-9]{1,4})\.megaupload\.com\/files\/[a-zA-Z0-9 ]+\/[a-zA-Z0-9 ]+\.([a-z]{3}))#';
avec cette chaine en test qui est une url :
http://www1114.megaupload.com/files/...lr1_h1080p.mov
__________________
Mon site web : techpaf
antoine974 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h30.


 
 
 
 
Partenaires

Hébergement Web