2017-10-14 92 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