2017-10-14 15 views
-1

phpで文字列内のペルシア文字のみをチェックする方法は?phpで文字列内のペルシア語文字のみをチェックする方法

は何か他のものとして知られているIペルシャ

string valid : persian character 

string invalid : except persian character(contain: latin && {&*%$ ,....}) 
+0

の下に参照してください?おそらくこれらの言語の1つ、http://php.net/manual/en/regexp.reference.unicode.php?有効な文字列と無効な文字列のサンプルを追加できますか? – chris85

+0

有効:パスワード† |||無効:ペルシア湾 |||無効:خلیجهمیشگیペルシア語 |||無効:خلیجهمیشگیفارس* – mrreza

答えて

0
$alphabet = ['الف', 'بِ', 'پِ', '...']; # create an array that contains only Persian characters 
$alphabet = array_flip($alphabet); # reverse the array (key <=> value) 

$chars = preg_split('/(?<!^)(?!$)/u', $string); # use this regexp to transform string intro array of chars 

foreach ($chars as $char) 
{ 
    if (!isset($alphabet[$char])) # use isset to check the char in the aplhabet 
    { 
     # it's not Persian character! 
    } 
} 
+0

OPにすべてのペルシア語の文字がある場合は、文字クラスと 'preg_match'がはるかに簡単です。例えばhttps://regex101.com/r/uHrtNU/1/ – chris85

+0

chris85ありがとうございます。とても良い。 خلیجهمیشگیفارس – mrreza

関連する問題