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 06/02/2007, 12h01   #1
Invité de passage
 
Étudiant
Inscription : décembre 2005
Messages : 9
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2005
Messages : 9
Points : 4
Points : 4
Envoyer un message via MSN à dough29
Par défaut Garder seulement certains caractères

Bonjour !

J'aimerai pour une chaine donnée ne garder que les caractères alpha-numériques.

Exemple de chaine : "Bonjour, bienvenue par ici !"

Résultat voulu : "Bonjour__bienvenue_par_ici__" (aproximatif, si les "_" en trop peuvent ne pas apparaitre)

J'ai regardé un peu autour des regex, preg... Les alpha-numériques sont de la classe [:alnum:].

Maintenant je ne parvient pas à trouver une fonction me permettant de supprimer/remplacer tout sauf les :alnum: par un "_".

Pour le moment j'utilise ereg_replace() mais ça serai tellement plus simple d'avoir comme masque :alnum:

Je remercie ceux qui pourront apporter la moindre information
dough29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2007, 12h44   #2
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 570
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 570
Points : 2 506
Points : 2 506
Salut, ça semble correspondre à ce que tu cherches
Code :
1
2
3
4
5
6
<?php
$pattern     = '`[^[:alnum:]]`';
$replacement = '_';
$subject     = 'Bonjour, bienvenue par ici !';
echo preg_replace($pattern, $replacement, $subject);
?>
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 06/02/2007, 13h54   #3
Invité de passage
 
Étudiant
Inscription : décembre 2005
Messages : 9
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2005
Messages : 9
Points : 4
Points : 4
Envoyer un message via MSN à dough29
Merci beaucoup à toi, c'est tout à fait ça !

dough29 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 20h53.


 
 
 
 
Partenaires

Hébergement Web