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 04/06/2006, 21h33   #1
Candidat au titre de Membre du Club
 
Inscription : septembre 2002
Messages : 22
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : septembre 2002
Messages : 22
Points : 12
Points : 12
Par défaut preg_replace et syntaxe des expressions régulières

Bonjour,

Je n'arrive pas à apprivoiser le monde mystérieux des expressions régulières. Après avoir fouillé quelque peu le web pour trouver des exemples compréhensibles, je m'en remet à votre expérience.

Pour commencer simple (enfin je le croyais), je voulais zapper tous les caractères non alpha-numérique d'une chaîne.

J'ai essayer ceci :
Code :
$var = preg_replace("^[:alnum:]","",$var);
Mais j'ai droit à l'erreur suivante :
Warning: No ending delimiter '^' found in d:\sites\referencement\site_php\test.php on line 2

Je n'ai pas compris ce qu'était un "ending delimeter", la seule chose que je souhaitais c'est exprimé la négation de cette classe. Bref je suis un peu perdu dans la syntaxe. Merci d'avance pour votre aide.
MmoulinexX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2006, 23h18   #2
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 569
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 569
Points : 2 503
Points : 2 503
Salut, lorsque tu utilises la fonction preg_replace, tu utilises la syntaxe des expressions rationnelles compatibles Perl ; pour cela, il faut, entre autre, utiliser des délimiteurs pour ton expression régulière ; par exemple
Code :
preg_replace('#[[:alnum:]]#', $replacement, $string);
Les # servent de délimiteurs et tu mets entre 2 ton expression régulière. Pour plus de détails, tu peux te référer à http://fr2.php.net/manual/fr/referen...ern.syntax.php

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 04/06/2006, 23h44   #3
Candidat au titre de Membre du Club
 
Inscription : septembre 2002
Messages : 22
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : septembre 2002
Messages : 22
Points : 12
Points : 12
Ok pour les délimiteurs et merci. Il me reste deux questions :

- le caractère ^ sert -il bien de négation si utilisé devant une classe ?

Et je tombe sur l'erreur suivante :
Warning: Compilation failed: POSIX named classes are supported only within a class at offset 1 in d:\sites\referencement\site_php\test.php on line 2

- une idée de ce que ça signifie ?

Encore merci.
MmoulinexX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2006, 23h54   #4
Candidat au titre de Membre du Club
 
Inscription : septembre 2002
Messages : 22
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : septembre 2002
Messages : 22
Points : 12
Points : 12
ok c'est bon j'avais oublié une paire de []

Pff c'est galère les expressions régulières. Latex c'est du pipi de chat à côté.
MmoulinexX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2006, 23h57   #5
Membre éclairé
 
Inscription : décembre 2004
Messages : 658
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : décembre 2004
Messages : 658
Points : 317
Points : 317
autre petite faut je sais pas si tu l'as vue c'est ton [:alnum:] et bien ca c'est l'quivalent de ca a-zA-Z0-9 et non de ca [a-zA-Z0-9] donc autour du [:alnum:] il faut rajouter les [] que tu avais oublié.

Enfin il me semble je me suis lancé il y a peu dans les expressions regulieres et j'ai un peu galéré comme toi au debut.

bonne chance
zulot est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h47.


 
 
 
 
Partenaires

Hébergement Web