النتائج 1 إلى 4 من 4

الموضوع: طلب تعديل دالة تحويل الأرقام العربية إلى هندية

  1. #1
    عضو جديد
    تاريخ التسجيل
    Oct 2005
    المشاركات
    7

    طلب تعديل دالة تحويل الأرقام العربية إلى هندية



    أنا أستخدم دالة تحويل الأرقام العربية (الإنجليزية) إلى أرقام هندية (عربية) ، ولكن أواجه مشكلة وهي في حال كان هناك شرطة ( - ) بين الأرقام، مثلاً 963-123 فإن الشرطة تحذف من الرقم ويصبح الرقم 963123

    هل ممكن تعديل الدالة للتعمل مع الشرطة.
    كود:
    function hundi_convert($n)        {
                $x = 0;
                $hundi_numbers = array(); 
                for($i = 1632; $i <= 1641; ++$i)
                {
                    $hundi_numbers[$x++] = "&#$i;";
                }
                if(strlen($n) > 1)
                {
                    $nums = array();
                    foreach(str_split($n) as $num)
                    {
                        $nums[] = $hundi_numbers[$num];
                    }
                    return(implode("", $nums));
                }
                return $hundi_numbers[$n];
            }








  2. #2
    عضو نشيط
    تاريخ التسجيل
    Oct 2012
    المشاركات
    146


    استعمل str_replace
    حل سخيف لكنه الاسهل، ولن تحتاج ل locale او اي شيء اخر






  3. #3
    عضو جديد
    تاريخ التسجيل
    Oct 2005
    المشاركات
    7


    استعمل str_replace
    حل سخيف لكنه الاسهل، ولن تحتاج ل locale او اي شيء اخر
    أخي الكريم ..

    لم أفهم كيف

    هلاّ تفضلت علي بالفكرة مشكوراً






  4. #4
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576

    Thumbs up



    جرب هذا الكود

    كود PHP:
    function hundi_convert($n)        {
        
    $x 0;
        
    $hundi_numbers = array(); 
        for(
    $i 1632$i <= 1641; ++$i)
        {
            
    $hundi_numbers[$x++] = "&#$i;";
        }
        if(
    strlen($n) > 1)
        {
            
    $nums = array();
            foreach(
    str_split($n) as $num)
            {
                if (
    is_numeric($num))
                    
    $nums[] = $hundi_numbers[$num];
                else
                    
    $nums[] = $num;
            }
            return(
    implode(""$nums));
        }
        return 
    $hundi_numbers[$n];

    ولكن عموما لدي تحفظ على طريقة عمل الدالة، خصوصا اذا كنت تنفذها في كل مرة تحب ان تعرض رقم. نصف الدالة الاول من الممكن ان يتم تعريفه في البرنامج او الملف مرة واحدة فقط ولا داعي لتكراره كل مرة لأن ناتجه دائما ثابت وهي مصفوفة فيها كل الارقام الهندية ( العربية ).

    بالتوفيق





    __________________
    SWF Thumbnail - tweet me





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  
0
أضف موقعك هنا