How can i allow only arabic characters in input text field?

后端 未结 2 1299
夕颜
夕颜 2021-01-15 12:00

I already searched here and found similar posts related to this post but i did not find a solution yet .

i tried this :

$text = \"الحمد لله رب العالم         


        
相关标签:
2条回答
  • 2021-01-15 12:36

    Update: I see I am apparently wrong about classes not being supported (though the docs at say "Extended properties such as "Greek" or "InMusicalSymbols" are not supported by PCRE" but the comment at http://php.net/manual/en/regexp.reference.unicode.php#102756 says they are supported), so I guess M42's is the better answer. They can, however, be done with ranges as follows:

    $text = "الحمد لله رب العالمين";
    
    echo $is_arabic = 
    preg_match('/^[\s\x{0600}-\x{06FF}\x{0750}-\x{077F}\x{08A0}-\x{08FF}\x{FB50}-\x{FDFF}\x{FE70}-\x{FEFF}\x{10E60}\x{10E60}—\x{10E7F}\x{1EE00}—\x{1EEFF}]+$/u', $text);
    
    0 讨论(0)
  • 2021-01-15 12:56

    Use unicode flag:

    $text = "الحمد لله رب العالمين";
    echo $is_arabic = preg_match('/\p{Arabic}/u', $text);
                                       here __^
    

    If you want to match only arabic you should do:

    echo $is_arabic = preg_match('/^[\s\p{Arabic}]+$/u', $text);
    
    0 讨论(0)
提交回复
热议问题