2017-10-14 27 views
-1

如何檢查字符串中的波斯字符由php?如何檢查字符串中的波斯字符由php

見下文

string valid : persian character 

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

我波斯語稱爲別的東西嗎?也許這些語言之一,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