2012-07-25 4 views
11

Chciałbym zatwierdzić ciąg z wzorcem, który może zawierać tylko litery (w tym litery z akcentami). Oto kod, którego używam i zawsze zwraca "nok". Nie wiem, co robię źle, możesz pomóc? Dziękipreg_match ze znakami międzynarodowymi i akcentami

$string = 'é'; 

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

Odpowiedz

21

Dodaj UTF-8 modifier flag (u) do swojej wypowiedzi:

/^\p{L}+$/ui 

Nie ma też potrzeby, aby owinąć \p{L} wewnątrz klasy postaci.

+0

Dziękujemy! To doprowadzało mnie do szału, próbując uzyskać wyrażenie "/ état (. *)/I" próbujące dopasować "États-unis" i "états-unis" ... –