Preg_match

Résolu
w_minisplash_w Messages postés 20 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 3 juillet 2006 - 22 mars 2006 à 19:10
w_minisplash_w Messages postés 20 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 3 juillet 2006 - 23 mars 2006 à 17:44
Bonjour à tous,

Voici mon problème :
J'ai une chaine './dossier_1/dossier_2/....../dossier_n'
Je veux en extraire dossier_n
J'ai donc essayé avec preg_match en utilisant le masque '/^\/.+/'.

Mais biensur, ca ne marche pas.

Donc si l'un d'entre vous a une super idée, merci de me la communiquer.

PS: même si vous avez trouvé un moyen de ne pas utiliser les expressions régulières, j'aimerais quand même savoir quel expression il faudrait utiliser pour arriver à mes fins.

Merci beaucoup !

5 réponses

Tarvos Messages postés 40 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 24 mars 2006
23 mars 2006 à 11:20
basename('/dossier_1/.../dossier_n')

En ce qui concerne l'expression régulière pourquoi pas...

/(.+/)+(.+)
3
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
22 mars 2006 à 20:22
Salut!
Je ne peux t'aider pour la regexp...

Mais, avec strrpos tu chopes la position du dernier / . Ensuite, plus qu'à utiliser substr... :)

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008
22 mars 2006 à 20:27
Bonsoir,

Oui, strpos() te permet de connaître la position d'une sous-chaîne.

Cdt
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
22 mars 2006 à 21:37
Je ne vois pas l'intérêt de me répéter... Et strrpos est, dans ce cas, bien préférable à strpos!

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
w_minisplash_w Messages postés 20 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 3 juillet 2006
23 mars 2006 à 17:44
Merci à tous,

J'ai aussi d'abord pensé dabord à strpos mais ça retourne la première occurence du caractère dans la chaine alors que moi je voulais la dernière. La proposition strrpos de Coockiesch était donc bonne, mais ensuite je devais couper la chaine et donc utiliser une fonction suplémentaire.
J'ai donc opté pour la proposition de Tarvos. Par contre, pour l'expression régulière, je crois que c'est pas encore ça :)
Merci en tous cas pour basename, c'est parfait.
Pour ceux qui consultent cet article, toute la doc est sur http://fr2.php.net/manual/fr/function.basename.php
0
Rejoignez-nous