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 23/11/2011, 17h10   #1
Débutant
 
Inscription : mai 2005
Messages : 1 957
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2005
Messages : 1 957
Points : 615
Points : 615
Par défaut [preg_match] comment extraire qu'une partie d'une string

Bonjour,
Je suis as un pro des regex et je dois faire un truc de particulier
J'ai des fichier qui sont nomé ainsi
page_[id]_[id_2]-large.jpg

Je dois
1) véfigier la valeur de [id].
2) si la valeur à comparé est égale à [id], je dois incrémenté [id_2].

[id] et [id_2] sont toujours des nombres. [id_2] peut avoir 1 à 3 caractère soit de 1 à 999

J'ai aucune idée comment faire pour véfier [id] [id_2] car en plus il faut aussi vérifier [id_2] pour la valeur au nouveau ficher uploadé soit unique.

Pourriez-vous m'aider pour ce problème?
je connais rein en régex.

Milles merci pour votre aide
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!
pierrot10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 18h03   #2
Membre éclairé
 
Avatar de Nowwis
 
Homme
Développeur Web
Inscription : juin 2009
Messages : 363
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 21
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2009
Messages : 363
Points : 365
Points : 365
Bonjour,

Essaie ceci :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
$regex = '/^page_([0-9]{1,3})_([0-9]{1,3})-large.jpg$/';
$chaine_a_tester = page_6_8-large.jpg
if(preg_match($regex, $chaine_a_tester, $tab))
{
	$id = $tab[0];
	$id2 = $tab[1];
        echo "id : $id  -  $id2 : $id2";
}
else
{
	echo 'Mauvais format';
}
Essaie également de comprendre les regex, c'est très utile, et pas si compliqué que ça quand on s'y mets un petit peu
Nowwis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2012, 00h11   #3
Nouveau Membre du Club
 
Homme
Inscription : février 2007
Messages : 94
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : février 2007
Messages : 94
Points : 32
Points : 32
Salut Simdu80, je me suis permis d'apporter qlq modifications, sur ton script, que je crois etre importantes .

Salut recent, ca devrait resoudre ton probleme:
Code :
1
2
3
4
preg_match("#^([0-9]{1,2})\*([0-9]{1,2})\*([0-9]{1,2})$#",$_POST['vote'],$match);
$match[1]//premières parentheses capturantes
$match[2]//2iemes parentheses capturantes
$match[3]//3iemes parentheses capturantes
bilou_2007 est déconnecté   Envoyer un message privé Réponse avec citation 01
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h45.


 
 
 
 
Partenaires

Hébergement Web