الدالة تعمل جيدا أخي الكريم
فدوال MB قامت بحل مشاكل كثيرة
كود PHP:
$txt = "ابجدهوزحطيكلمن";
//$txt = "abcdefghijklmnop";
$lg_max = 8;
echo mb_substr($txt, 0, $lg_max, "UTF-8");
يمكنك أيضا إستخدامها بهذه الطريقة :
كود PHP:
$txt = "ابجدهوزحطيكلمن";
//$txt = "abcdefghijklmnop";
$lg_max = 8;
mb_internal_encoding("UTF-8");
echo mb_substr($txt, 0, $lg_max);
في حال لم تكن مكتبة MB مثبتة على السيرفر فيمكنك إستخدام هذه الدالة للتقطيع :
كود PHP:
function MY_MB_substr($data,$from,$to){
return preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'. $from .'}'.'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'. $to .'}).*#s','$1', $data);
}
$txt = "ابجدهوزحطيكلمن";
//$txt = "abcdefghijklmnop";
$lg_max = 8;
echo MY_MB_substr($txt,'0',$lg_max);
بالتوفيق .