محاسبه تعداد صفحات پیامک

public function isSmscounts($str)
 {
    if (strlen(utf8_decode($str)) == 0)//If Text Length == 0
        $smsCount = 1;//ِDefault Sms Counts 
//Check For Farsi Text
    $isPersian  = (!preg_match('/^[^x{600}-x{6FF}]+$/u', str_replace("\\","",$str)));
    $maxLen     = ۰;//Default Max Length
    $msgLen     = strlen(utf8_decode($str));//Calculate Sms Length
    $fa_diff    = ۳;//Diffrent Farsi page
    $en_diff    = ۷;//ِDiffrent English page
    $unitLength = ($isPersian? 70 : 160);//Uint Length
    //Check For Pages
    if ($msgLen > $unitLength) 
    {
    if ($isPersian)
    $unitLength = $unitLength - $fa_diff;
    else
    $unitLength = $unitLength - $en_diff;
    }
    //Final Calculate  
    $smsCount = ceil($msgLen / $unitLength);
    //Return 
    return $smsCount;
}

 

5 سال پیش

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.