|
|||||||
| Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: janvier 2006
Messages: 23
|
Bonjour,
Je souhaite effectuer un traitement sur une chaine pour y éliminer les caractère spéciaux. Pour cela j'utilise une expression régulière qui va remplacer tous les caractères autres que ceux définis dans l'expression régulière par le caractère "_". Voici le code : Code :
return eregi_replace("[^a-z0-9._-àéèêù[:space:]]+", "_", $chaine); - Les caractères alphanumériques sont admis (a-z0-9) - Le point - l'underscore - le tiret - les caractères accentués : àéèêù - l'espace Et bien non, exemple : La chaine : ponctuation.point.[crochet](parenthèse)-tiret-;pvirg;'cote'&commercial&²carre²#diese#{acolade}`coteinc`_undersc_^chap^@arob@=egal=+plus+r7àá donnera : Ponctuation.point._crochet_parenthèse_tiret_pvirg_cote_commercial_²carre²_diese_{acolade}`coteinc`_undersc__chap_arob_egal_plus_r7àa Ma question : pourquoi reste-t-il des caractères spéciaux ?? Un spécialiste des expression régulière peut-il se pencher sur mon prob ?? Merci d'avance de vos réponses... |
|
|
|
|
|
#2 (permalink) |
![]() |
tu as mis un tiret au milieu de ta classe ^^
Code :
return eregi_replace("[^a-z0-9._àéèêù -]+", "_", $chaine);
__________________
Rédacteur "éclectique" (XML, IRC, Web...) Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC) je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque ! pensez à la balise [code] (bouton #) et au tag (en bas)
|
|
|
|
|
|
#3 (permalink) |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: janvier 2006
Messages: 23
|
Cool ça fonctionne...
Je vais devoir me pencher un peu plus sur sur les expressions régulières pour bien les maitriser. Car je n'ai pas compris le comment du pourquoi de la réponse (emplacement spécifique du tiret dans la classe... espace non représenté par [:space:]...) Enfin, ça fonctionne ! Merci Swoög ! @++ |
|
|
|
|
|
#4 (permalink) |
![]() |
De rien
pour le [:space:] je l'ai modifié par ce que j'évite d'utilser les meta-classes au maximum c'est tout pour le tiret, c'est parce que un tiret au mileu d'une classe de caractère signifie un interval, comme tu l'as mis pour a-z et 0-9
__________________
Rédacteur "éclectique" (XML, IRC, Web...) Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC) je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque ! pensez à la balise [code] (bouton #) et au tag (en bas)
|
|
|
|
|
![]() |
![]() |
||
Expression régulière (ou relationnelle)
|
||
| Outils de la discussion | |
|
|