Apostrophe et expression régulière

discus-axelrodi Messages postés 1 Statut Membre -  
 discus-axelrodi -
Bonjour,
je souhaiterais autoriser pour le pseudo des utilisateurs,
les lettres majuscules et minuscules, accentuées ou non, l'espace, un seul tiret (-) et une seule apostrophe :

j'ai pour le moment :

// verifier que le pseudo ne contient que des lettres!
if ( preg_match("/^([- a-zA-Zéèëêäâàùüûîïÿöôœç]+)$/ ", $pseudo))
{
$pseudoaffichage= StripSlashes($_POST[pseudo]);
$pseudoenregistre= ($_POST[pseudo]);
}
else
{
$info2 = 'Votre pseudo ne peut contenir que des caractères alphabétique, accentués ou non, une apostrophe(\') et un tiret(-).<br />';
$pseudoaffichage= "";
$_POST[pseudo]="";
}

J'aimerais savoir comment ajouter une seule apostrophe et comment autoriser le tiret une seule fois.
Merci!

2 réponses

Utilisateur anonyme
 
Je ne sais pas si c'est faisable avec une seule expression régulière car je n'en suis pas un expert, mais dans un cas comme ça, je ferais comme tu as fait, et je ferais suivre d'une simple recherche de caractère dans la chaîne pour vérifier qu'il y a 0 ou 1 apostrophe et/ou 0 ou 1 tiret.
0
discus-axelrodi
 
Merci!
Je pense faire ça effectivement, ça me parait être le plus simple.
Par conte, je n'arrive pas a autoriser l'apostrophe dans la chaine.
0