我正在尝试在PHP中进行一些服务器端验证。我努力了,但我发现仍然没有解决方案。我试图在输入中仅允许波兰语字符。
为此,我使用了:
preg_match('/^[\x{0104}-\x{017c}]*$/u',$titles)
然而,这不起作用。
任何人都知道如何正确地写它?
答案 0 :(得分:2)
要仅匹配波兰语字母,您只需要一个字符类:
[a-pr-uwy-zA-PR-UWY-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]
用作
preg_match('/^[A-PR-UWY-ZĄĆĘŁŃÓŚŹŻ]*$/iu',$titles)
请注意Polish中没有Q
,V
和X
,但由于可以用某些词语(taxi
)来满足它们,可能也想允许这些字母。然后,使用'/^[A-ZĄĆĘŁŃÓŚŹŻ]*$/iu'
正则表达式。
if (preg_match('/^[A-PR-UWY-ZĄĆĘŁŃÓŚŹŻ]*$/iu', "spółka")) {
echo "The whole string contains only Polish letters";
}