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

الموضوع: للتحليل, أي هذين الفنكشين أفضل؟

  1. #1
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    695

    للتحليل, أي هذين الفنكشين أفضل؟



    هذه الفنكشنات استعملتها لكن يبدو أن الثانية تؤخر وتبطئ عرض النتائج, فهل يمكن المساعدة في اختيار أفضل فنكشن لقطع جزء من النص.
    ومشكورين سلفا.

    function textcut($tra_text, $num){
    $a = substr($tra_text,0, $num); // قطع النص بالحد المطلوب
    $b = strrpos($a," "); // معرفة موقع آخر مسافة في النص المقطوع
    $c = strlen($tra_text);
    if($num > $c){ // التحقق من أن الحد المطلوب قطعه أكبر من عدد حروف النص
    return $tra_text;
    }elseif($num ==$c){ // التحقق إذا كان الحد المطلوب قطعه = عدد حروف النص
    return $tra_text;
    }elseif($num < $c){ // التحقق إذا كان المطلوب قطعه أقل من عدد حروف النص
    return substr($tra_text,0, $b); //القطع من ما قبل الكلمة
    }
    }
    //---------------
    $tra_text = textcut($tra_text,250);
    //---------------------


    function cute_string($text,$number)
    {
    $limit=200;
    $ex=explode(" ",$text);
    for($i=0;$i<$limit;$i++)
    {
    $cnt+=(strlen($ex[$i]));
    if($cnt < $number-1 )
    {
    $word.=$ex[$i].' ';
    }else {
    $i=$limit;
    }
    }
    return $word;
    }

    $t="في الكثير من مواقع الاخبار تجد بالصفحة الرئيسية جزء من المقالة وكلمة المزيد ";
    echo cute_string($t, 23);





    التعديل الأخير تم بواسطة swa52 ; 21-10-2011 الساعة 11:50 AM
    __________________
    لا خير في كاتـــــــــ العلم ــــــــم.


  2. #2


    الأولى برأيي أسرع ..

    فالدالة الثانية تستعمل حلقة التكرار for و explode لقطع النص حسب الفراغات ..
    لذلك فإن استعمال دوال النصوص اسهل من الالتفاف حولها ..

    هذا و الله اعلم ..

    متابع للموضوع فقد يفيدني من لديه خبرة اكبر





    __________________
    مبرمج php للتواصل : roudyhermez(at)hotmail(dot)com
    مدونتي PlusCSS

  3. #3
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    جرب الداله دية
    كود PHP:

    function substr_text($text,$offset=0,$end=50){
            if(empty(
    $text)){
                return 
    false;
            }
            return 
    implode(' ',array_slice(explode("\t",preg_replace('/\s+/i',"\t",trim($text))),$offset,$end));
        }
        
    $text="   mohamed  helal  from egypt  ";
        echo 
    substr_text($text,0,5); 






    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  4. #4
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    695


    الأخ محمد هلال

    يبدو أن دالتك لا تعمل.

    شكرا لك





    __________________
    لا خير في كاتـــــــــ العلم ــــــــم.

  5. #5
    عضو فعال جدا
    تاريخ التسجيل
    Apr 2002
    المشاركات
    2,046


    ياريت تعدل المشاركة وتضع الكود بين الأقواس [php] عشان نقدر نقراه ونساعد





    __________________
    مدونتي

  6. #6
    عضو نشيط
    تاريخ التسجيل
    Apr 2011
    المشاركات
    51


    اي function تستعمل explode
    هي الاسرع لانها تفصل عدة مجموعات مباشرتا
    بدون ايوقت
    وfor هي اسرع حلقة تكرار على مااظن

    اما while فهي تحتاج الى دوران كثير وهذا يتعب البرمجية





    __________________
    الحمد لله اتقنت لغة PHP

  7. #7
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    الأخ محمد هلال

    يبدو أن دالتك لا تعمل.

    شكرا لك
    الداله شغاله معايا كويس!!!





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com





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

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

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض