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 17/11/2010, 18h36   #1
Membre régulier
 
Inscription : mai 2007
Messages : 180
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 180
Points : 82
Points : 82
Par défaut Pb d'Equivalence PCRE unicode

Je remplace le code [:alpha:] par son équivalent unicode \P{L}, et ça ne marche plus.

la fonction suivante is_a_prenom_nom autorise tous les caractères ainsi que le tiret, l'espace, et l'apostrophe (simple cote ')

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function is_a_prenom_nom($arg_str)
{
 	if(preg_match('/[^[:alpha:]\' -]/u',$arg_str)) return false;
	return true;
}
 
function is_a_prenom_nom_unicode($arg_str)
{
 	if(preg_match('/[^[\P{L}\' -]/u',$arg_str)) return false;
	return true;
}
 
 
if(is_a_prenom_nom('jean-luc étienne')) echo ' is_a_prenom_nom : accepté ';
else echo ' is_a_prenom_nom : refusé ';
echo '-';
if(is_a_prenom_nom_unicode('jean-luc étienne')) echo ' is_a_prenom_nom_unicode : accepté ';
else echo ' is_a_prenom_nom_unicode : refusé ';
ce code retourne : is_a_prenom_nom : accepté - is_a_prenom_nom_unicode : refusé
gomodo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2010, 18h51   #2
Modérateur
 
Inscription : septembre 2010
Messages : 6 989
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 6 989
Points : 8 294
Points : 8 294
t'as un [ en trop non ? et c'est pas \P{L} mais \p{L} dans ton cas
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h10.


 
 
 
 
Partenaires

Hébergement Web