Autor Zpráva
nowis
Profil
Zdravím,

mohli byste mě prosím naťuknout, jak vyřešit problém, kdy potřebuji ověřit, zda je na začátku Velké, nebo malé písmeno, ale včetně diakritiky? Používám tyto výrazy:

1/ ^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]
2/ ^[a-záčďéěíňóřšťúůýž]

...ale tyto výrazy nerozlišují např. rozdíl mezi Čevapčiči a čevapčiči. A to já bych právě potřeboval. Našel jsem něco o unicode přepínači /u, ale pokusy s tímto zatím selhávají (preg_match('~^[a-záčďéěíňóřšťúůýž]/u~', $text) - nenajde to vůbec nic)

Díky!
TomášK
Profil
Ten přepínač má být za ukončením výrazu:

preg_match('~^[a-záčďéěíňóřšťúůýž]~u', $text)

Případně to jde i takto (viz php.net/manual/en/regexp.reference.unicode.php)
<?php 
echo preg_match("/^\p{Ll}/u", "čevabčiči"); // 1
echo preg_match("/^\p{Lu}/u", "čevabčiči"); // 0
echo preg_match("/^\p{Ll}/u", "Čevabčiči"); // 0
echo preg_match("/^\p{Lu}/u", "Čevabčiči"); // 1
?>
nowis
Profil
Díky, už to funí!

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0