为什么mb_ereg()没有检测到阿拉伯字符?

I have an example from PHP.net to detect Arabic. Why doesn't it work?

$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.";
}

You shouldn't rely on character ranges for detecting arabic characters. You can directly use \p{Arabic} for detecting Arabic letters:

Following works fine:

$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.";

OUTPUT:

Text has some arabic/hebrew characters.