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

الموضوع: دالة عرض عدد معين من الكلمات(وليس عدد الاحرف)

  1. #1
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    357

    دالة عرض عدد معين من الكلمات(وليس عدد الاحرف)



    السلام عليكم ورحمة الله وبركاته
    دالة بسيطه تحدد عدد الكلمات التي تريد طباعتها وليس عدد الاحرف
    مثلا لو عندنا النص التالي:
    منتدى سوالف سوفت لتطوير المواقع
    ونريد عرض كلمتين فقط سيعرض
    منتدى سوالف
    نضع عدد الكلمات التي تريد طباعتها 2
    وليس عدد الاحرف
    لأن المشكله بدالة اضهار عدد معين من الاحرف
    انها تعرض مثلا نصف الكلمة الاخيره او حرف منها
    مثلا
    منتدى سوالف س
    وهذي الكود مع الشرح:
    كود PHP:
    <?php
    $s
    ="منتدى سوالف سوفت لتطوير الموافع";
    //النص قبل التجزئه
    $num=3;
    //عدد الكلمات المطلوب عرضها
    $num+=1;
    //اضفنا واحد لعدد الكلمات المطلوب عرضها لانه لو كتبت 3 سيعرض كلمتين فقط
    $s2=explode(" ",$s,$num);
    //تم تجزئة النص بوسطة الفراغ بين الكلمات
    $n=$num-1;
    //نقصنا واحد من عدد الكلمات لأن معروف دالة
    //explode
    //تقسم النص الى مصفوفه تبدأ من 0 يعني الكلمة الاولى رقمها 0
    foreach($s2 as $k=>$v){
    //استخدمنا الداله لعرض محتويات المصفوفه
        
    if($k!=$n){
    //وضعنا شرط ان لايطبع اخر جزء من المصفوفه
    echo $v."  ";    
    //نطبع محتويات المصفوفه ونضع فراغ بين الكلمات
    }
        }
    ?>



    ولتسهيل اختصرتها بداله:
    كود PHP:
    function text_n($n,$s){
    $num=$n;
    $num+=1;
    $s2=explode(" ",$s,$num);
    $n=$num-1;
    foreach(
    $s2 as $k=>$v){
    if(
    $k!=$n){
    echo 
    $v."  ";    
    }
    }} 
    وطريقة عملها كالتالي:
    كود PHP:
    text_n(4,"hatem1 hatem2 hatem3 hatem4 hatem5"); 
    وسيعرض:
    hatem1 hatem2 hatem3 hatem4
    كود PHP:
    text_n(عددالكلمات,"النص"

    اتمنى يكون لداله فائدة لكم..ﻷني نشبت بـexplodeوكل شوي تجيني فكره







  2. #2
    عضو نشيط
    تاريخ التسجيل
    Mar 2008
    المشاركات
    283


    وعليكم السلام ورحمة الله وبركاته

    يعطيك العافية اخوي حاتم < بناء على الاسم في المثال

    وافكار جميلة منك

    تحياتي






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


    ممكن دية بردك

    كود PHP:

    <?php
    /** 
      * ##############################################
      * ##برمجة محمدهلال                             ##
      * ##جميع الحقوق محفوظة لي محمدهلال             ##
      * ##    mohamedhelal                            ##
      * ##all rights to mohamedhelal                 ##
      * ##email:mohamed_helal123456@hotmail.com        ##
      * ##############################################
      */



    function text_limit($str,$limit=10)
    {
        if(
    stripos($str," "))
        {
            
    $ex_str=explode(" ",$str);
            if(
    count($ex_str)>$limit)
                {
                for(
    $i=0;$i<$limit;$i++)
                    {
                    
    $str_s.=$ex_str[$i]." ";
                    }
                    return 
    $str_s;
                } 
            else
                {
                    return 
    $str;
                }
        }
    }
    $text="mohamed helal from egypt cairo";
    echo 
    text_limit($text,2);
    ?>






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

  4. #4
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    357


    شكرا على مروكم واظافاتكم






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


    ببساطه يمكن استخدام array_slice
    كود PHP:
    <?
    function str_limit($str$count$break=' ') {
        return(
    implode($breakarray_slice(explode($break ,$str), 0$count)));
    }
    //example
    $str 'hello world';
    echo 
    str_limit($str1);
    //hello
    //
    ?>






    __________________
    ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
    الاتصال: daif@daif.net او جوال: 0556639884
    الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .

  6. #6
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    357


    مشكور اخوي ضيف

    لكن ياشباب ترى المسأله ان دالة explode
    لها وسيط ثالث وهو عدد تقسيم النص
    يعني مثلا:
    $text="1 2 3 4";
    explode(" ",$test,2);
    راح تكون المصفوفه من3صفوف
    محتوى الاول 1
    والثاني 2
    والثالث بقية النص يعني 3 4

    واشكركم على مروكم واضافتكم






  7. #7
    عضو شرف
    تاريخ التسجيل
    Apr 2002
    المشاركات
    1,379


    لم امرر وسيط ثالث الى الداله explode راجع النص البرمجي .





    __________________
    ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
    الاتصال: daif@daif.net او جوال: 0556639884
    الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .

  8. #8
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    357


    اعرف اخوي ضيف
    لكن انا بوضح انه موجود لدالةexplode بارمتر ثالث لعدد التقسيم

    لكن بسألك :عن عمل البارمتر الثالث لدالة implode.؟
    لأني شفتها بدالتك






  9. #9
    عضو شرف
    تاريخ التسجيل
    Apr 2002
    المشاركات
    1,379


    لم امرر وسيط ثالث للداله implode
    الكود بالتفصيل هو:
    كود PHP:
    <?php
    $str 
    'string variable';
    $break ' ';
    $count 1;
    $str explode($break ,$str);
    $str array_slice($str,  0$count);
    $str implode($break$str);
    echo 
    $str// string
    ?>






    __________________
    ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
    الاتصال: daif@daif.net او جوال: 0556639884
    الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .

  10. #10
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    357


    اسف العتب على النظر^,^
    وشكر لك










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

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

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