2012-07-25 16 views
11

Yalnızca bir harf içeren (desenli harfler içeren) bir dizgi içeren bir dizgi doğrulamak istiyorum. İşte kullandığım kod ve her zaman "nok" döndürür. Neyi yanlış yaptığımı bilmiyorum, yardımcı olabilir misiniz? teşekkürlerUluslararası karakterlere ve vurgulara sahip preg_match

$string = 'é'; 

if(preg_match('/^[\p{L}]+$/i', $string)) 
{ 
    echo 'ok'; 
} else{ 
    echo 'nok'; 
} 

cevap

21

sizin ifadeye UTF-8 modifier flag (u) ekleyin:

/^\p{L}+$/ui 

bir karakter sınıfının içindeki \p{L} sarmak gerek de yoktur.

+0

Teşekkür ederiz! Bu beni çıldırtıyordu, '/ état (. *)/I' gibi "États-unis" ve "états-unis" ile eşleşmeye çalışan bir ifade almaya çalışıyordu ... –

İlgili konular