سلام دوستان
چطور میشه تعداد صحات پیامک رو با PHP چک کرد؟
کد جاوا اسکریپتش هست
اما پی اچ پی رو ندیدم
چطور میشه تعداد صحات پیامک رو با PHP چک کرد؟
کد جاوا اسکریپتش هست
اما پی اچ پی رو ندیدم
محاسبه تعداد صفحات پیامک (حل شد)
|
01-06-1394، 11:38 ب.ظ
(آخرین تغییر در ارسال: 02-06-1394، 07:08 ب.ظ توسط mohsen6500.)
سلام دوستان
چطور میشه تعداد صحات پیامک رو با PHP چک کرد؟ کد جاوا اسکریپتش هست اما پی اچ پی رو ندیدم
02-06-1394، 02:48 ق.ظ
اگر بخواهی با php طول یک متن رو بدست بیاری صفحه حتما باید رفرش بشه
تابع count در php تعداد کارکترهای موجود در یک رشته را می شمارد یه برنامه نویس دنیاش کدنویسی هست
02-06-1394، 09:15 ق.ظ
ببخشید ها ولی خدایی سوال رو خوندی؟!
میگم نحوه حساب کردن صفحات رو با جاوااسکریپت دارم منتها با php نمیتونم درست بشمارم قانونش چطوریه
02-06-1394، 11:08 ق.ظ
دوست عزیز فکر میکنم که شما سوالتون رو درست مطرح نکردید. در رابطه با شمردن صفحات پیامک خب شما متن پیامک رو تویه متغیر میریزید و تعداد کارکتر هاشو میشمارید و تقسیم بر مثلا 70 میکنید و با یک جمع میکنید تا تعداد صفحات بدست بیاد
02-06-1394، 07:01 ب.ظ
باید با RegExp چک کنید اگه حتی یک کارکتر فارسی داخلش باشه هر 70 کارکتر رو یک صفحه درنظر بگیرین و اگه نبود (فقط حروف و اعداد لاتین بود) هر 160 کارکتر رو یک پیام محسوب کنید.
02-06-1394، 07:05 ب.ظ
(آخرین تغییر در ارسال: 02-06-1394، 08:51 ب.ظ توسط mohsen6500.
دلیل ویرایش: تصحیح یونیکد برای تشخیص دقیق تعداد کارکترها
)
میدونید دوستان
راه حلش رو یافتم توی پیامک ها اگر فارسی تایپ کنید تعداد صفحات رو برای صفحه اول تا 70 کارکتر حساب می کنه و اگر بیش از دو صفحه شد در هر صفحه 3 تا کم می کنه از 70 تا یعنی میشه 67 کارکتر و اگر لاتین باشه که صفحه اول رو 160 تا و مابقی را (160-7) که میشه 153 کارکتر حساب میکنه پس بنا براین این تابع رو نوشتم برای دوستانی که شاید مثل من دنبال یه همچین مطلبی باشند موفق باشید 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 = 0;//Default Max Length $msgLen = strlen(utf8_decode($str));//Calculate Sms Length $fa_diff = 3;//Diffrent Farsi page $en_diff = 7;//ِ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; }
27-12-1397، 03:37 ب.ظ
|
|