我有一个来自PHP.net的检测阿拉伯语的例子。为什么不动呢?
$text = 'بيتر هو صبي.'; // arabic
//$text = 'פיטר הוא ילד.'; // hebrew
mb_regex_encoding('UTF-8');
if(mb_ereg('[\x{0600}-\x{06FF}]', $text)) // arabic range
//if(mb_ereg('[\x{0590}-\x{05FF}]', $text)) // hebrew range
{
echo "Text has some arabic/hebrew characters.";
}
else
{
echo "Text doesnt have arabic/hebrew characters.";
}发布于 2013-10-02 15:53:43
您不应该依赖字符范围来检测阿拉伯字符。您可以直接使用\p{Arabic}检测阿拉伯字母:
以下各项运作良好:
$text = 'بيتر هو صبي.'; // arabic
//$text = 'פיטר הוא ילד.'; // hebrew
if (preg_match('~\p{Arabic}~u', $text))
echo "Text has some arabic/hebrew characters.";
else
echo "Text doesnt have arabic/hebrew characters.";输出:
Text has some arabic/hebrew characters.https://stackoverflow.com/questions/19141075
复制相似问题