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 12/12/2007, 11h14   #1
Gunner4902
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Par défaut Extraire un mot d'une chaine de caractère

Bonjour,

Utilisant la numérotation de windows pour les images - nomfichier (1).jpg - je souhaite retourner la valeur nomfichier en excluant le nombre et l'extension, ainsi que le chemin du fichier.

Le code suivant fonctionne bien, mais j'aurai voulu savoir si l'on pouvait faire plus court :

Code :
1
2
3
4
5
6
<?php
  $image = "images/test/auto_ (1).jpg";
  ereg("^(.+)\_(.+)$", $image, $nn);
  ereg("^(.+)\/(.+)$", $nn[1], $nnn);
  echo "$nnn[2]";   //auto
?>
Merci
  Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 19h06   #2
Membre régulier
 
Inscription : mai 2007
Messages : 180
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 180
Points : 82
Points : 82
Juste une remarque :

Citation:
Note: preg_match(), qui utilise la syntaxe des expressions rationnelles compatibles PERL, est une alternative plus rapide de ereg().
(http://fr.php.net/manual/fr/function.ereg.php)
gomodo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2007, 09h04   #3
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 571
Détails du profil
Informations personnelles :
Nom : Homme Benjamin PREVOT
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : septembre 2004
Messages : 1 571
Points : 2 523
Points : 2 523
Salut, il me semble que si tu utilises cette regex, ça devrait marcher
Code :
$regex = '`(([^/]*/)*)([^/\(]*)( \([0-9]+\))?\..*$`';
Tu auras le nom de ton fichier au rang 3

C'est pas optimisé du tout, mais ça devrait marcher

Bon développement
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

F.A.Q. : Java, PHP, (X)HTML / CSS

N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème
Nesmontou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2007, 09h30   #4
Gunner4902
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
En effet, celà fonctionne avec la fonction regex, je viens de tester.
Merci Nesmontou
  Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Mettre Résolu
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h14.


 
 
 
 
Partenaires

Hébergement Web