Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1806 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Expression réguliere ereg()

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Expression réguliere ereg()

n°1392816
creusois
Posté le 22-06-2006 à 14:22:13  profilanswer
 

Bonjour,
 
Voila, je cherche à créer, sans succés une petite fonction.  
Elle prends en paramettre une chaine de caractere de ce type:
 

Code :
  1. $etiquette = "etiquettes/Vallée de la loire/clos d'Ajou/maubuisson.jpg"


 
Et elle me redonne une chaine de caractere qui sera le chemin de l'image maubuisson.jpg, soit:
 

Code :
  1. $etiquette = "etiquettes/Vallee_de_la_loire/clos_d_Ajou/maubuisson.jpg"


 
En faites, je cherche à changer tout ce qui n'est pas compris dans la table ASCII entre a et z; A et Z; 1 et 9 en _
 
Mais j'ai un peu de mal à confectionner mon expression réguliere.
 
Merci.
 
Alexandre

mood
Publicité
Posté le 22-06-2006 à 14:22:13  profilanswer
 

n°1392833
sielfried
Posté le 22-06-2006 à 14:41:30  profilanswer
 

preg_replace avec du [^a-zA-Z1-9]
 
?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1392845
afbilou
pouet your life
Posté le 22-06-2006 à 14:53:44  profilanswer
 

Mieux vaut utiliser str_replace qui sera beaucoup plus rapide et moins gourmand qu'une expression régulière dans ton cas.
 
Sinon dans le cas de preg_replace je ferais :
preg_replace('#[^\w./]#', '_', $texte)

n°1392852
creusois
Posté le 22-06-2006 à 15:04:44  profilanswer
 

afbilou a écrit :

Mieux vaut utiliser str_replace qui sera beaucoup plus rapide et moins gourmand qu'une expression régulière dans ton cas.
 
Sinon dans le cas de preg_replace je ferais :
preg_replace('#[^\w./]#', '_', $texte)


 
Merci beaucoup pour vos reponses, effectivement dans un premier temps j'avais pensé à un str-replace mais ca va etre beaucoup trop complexe à gerer. Il faut imaginer que c'est le visiteur qui fait les rubriques donc il peut y mettre tout les caracteres avec accent, les !"£$%^&*(, etc...  
 
Je ne voudrais pas qu'il me foute en l'air le serveur.
 
Donc c'est pour ceci que je voulais remplacer tt ce qui n'est pas compris entre a-z; A-Z; 1-9 par _
 
Maintenant sielfried me suggere preg_replace avec du [^a-zA-Z1-9], il ne semble pas sur de lui, qqn d'autre pourrait-il confirmer.  
 
Merci

n°1392870
sielfried
Posté le 22-06-2006 à 15:27:02  profilanswer
 

Ben cette regexp catche tous les caractères sauf ceux qui vont de a à z, de A à Z et de 1 à 9. J'ai pas mis \w vu que t'as pas précisé si ça incluait le zéro, mais je suppose que oui, donc autant remplacer tout ça par \w (par contre pourquoi un point après \w, afbilou ?).
 
Je vois pas trop comment afbilou imagine le truc sur autant de caractères avec un str_replace, par contre (m'enfin je suis pas très en forme aujourd'hui... [:spamafote])


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1392888
afbilou
pouet your life
Posté le 22-06-2006 à 15:41:46  profilanswer
 

Le point c'est pour ne pas remplacer le "." de l'extesion du fichier a la fin de la chaine :p

n°1392912
creusois
Posté le 22-06-2006 à 16:26:23  profilanswer
 

Okey, merci beaucoup. Je crois que je vais explure le "." et lui envoyer seulement:
 
$etiquette = "etiquettes/Vallée de la loire/clos d'Ajou/maubuisson"
 
Parce que si un utilisateur me met un . dans le nom de son image ou repertoire, ca va faire du degat.
 
Merci, je test tout ca ce soir.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Expression réguliere ereg()

 

Sujets relatifs
Expression reguliere toute bete[Résolu] pb avec un simple ereg
expression reguliere pour tester les URL[Java] expression régulière : extraction à partir d'un motif
Expression regulièreprobleme sur expression reguliere
[PHP] Expression Reguliere fonction ereg() 
Plus de sujets relatifs à : Expression réguliere ereg()


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)