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

الموضوع: دالة بسيطة للتخلص من عناوين الموضوع الطويلة (( short_string ))

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

    دالة بسيطة للتخلص من عناوين الموضوع الطويلة (( short_string ))



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

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

    فبرمجة هذه الدالة .. التي استخداماتها عديدة منها :
    نلاحظ البعض يكتب عنوان للخبر أو الموضوع ويكون طويل جداً
    مع إن طول العنوان مضبوط كي نعلم محتوى الموضوع
    لكن سيظهر شكل الصفحة بطريقة غير جيدة ( ليست جميلة ) بهذه الدالة تستطيع التخلص من العناوين الطويلة في الاقسام فقط ولكن يظل طول وشكل العنوان كما هو ..

    هذه الدالة :-

    كود PHP:
    function short_string($a,$h)
    {
    if(
    strlen($a)>$h )
    {
    echo 
    "".substr($a,0,$h)." ...";

    return 
    $a;
      }
    // by Sari 
    بسيطة أليست كذلك ؟ ..

    طريقة الإستخدام :
    الدالة تحتاج إلى بارامترين الأول هو النص ( العنوان ) والثاني هو عدد الحروف التي تريد إظهارها
    وإذا زاد النص عن هذا العدد يقوم بإستبدال النص المتبقي بالنقاط ...

    مثال
    كود PHP:
    // النص 
    $s="Welcome in Ala7lam.net !";
    // الدالة 
    echo short_string($s,10); 
    استخدم المثال السابق وستلاحظ أنه يطبع التالي
    Welcome in ...

    ملاحظة :
    الدالة تقوم بتغيير النص عند العرض فقط ! .. أي أن النص يبقى كما هو ..


    تستطيع وضع حقل بقاعدة البيانات خاص بعدد الحروف التي تريد إظهارها
    وعند إظهار عنوان الموضوع في القسم يظهر جزء من العنوان ، والعنوان كاملاً عند الدخول لهذا العنوان
    كما هو موجود في مجلة المبرمج العربي rafia 1.4

    بالتوفيق للجميع ،،،





    __________________
    الإستضافات :

    http://www.ala7lam.net/host.html

    موضوع الإستضافات وخدماتنا :

    إستضافات وخدمات شبكة الأحلام التطويرية ...


  2. #2
    عضو فعال جدا
    تاريخ التسجيل
    Feb 2004
    المشاركات
    2,307


    شكرا لك اخوي

    وسبق انا ان وضعت تقريبا نفس الموضوع وموجود بسوالف ، واضافة الاخ هاشم دالة جديدة ..

    عموما الف شكر لك .. وكمان موجوده هناا..

    http://www.phpfaq.php-ar.com/index.p...d6268723b7c16d

    ملاحظه مهمه جدا : خـل نشــوف اضافتــك في PHP FAQ عـزيـزي

    تحياتي





    __________________
    بي اتش بي العرب : php-ar.com
    دروس PHP خاص : phpfaq.php-ar.com

    new site : www.naifphp.net/web

  3. #3
    عضو سوبر نشيط
    تاريخ التسجيل
    Nov 2003
    المشاركات
    669


    يا هلا ومرحبا بك جريح

    وحياك الله .. شاكر لك ردك يا الغالي

    وبالنسبة للموقع توني اشوفه ، واحد قالي تعرف موقع أسئلة البي اتش بي .. حسبته أجنبي قلت لا ..

    بإذن الله سأتواجد هناك .. لانه لدي موضوع لطريقة عمل المتواجدون الآن

    تقبل تحياتي ،،،





    __________________
    الإستضافات :

    http://www.ala7lam.net/host.html

    موضوع الإستضافات وخدماتنا :

    إستضافات وخدمات شبكة الأحلام التطويرية ...

  4. #4
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    4,037


    شكرا لك وبارك الله فيك ..
    ملاحظة: الدالة التي ستكون أفضل بكثير هي أن تقوم بعرض عدد معين من الحروف كما ذكرت مع مراعاة المسافات .. فليس مقبولا أن تكون الكلمات التي تظهر مثلا:
    إذا رأيت نيوب اللي...
    والنص الأصلي:
    إذا رأيت نيوب الليث بارزة ..
    وهذا سيكون تمرينا جيدا

    وفي انتظار "المتواجدون الآن"





    __________________
    ....
    محمد حسام
    انترنت بلس

  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2003
    المشاركات
    305


    قمت بعمل هذه الدالة ولله الحمد لقطع النصوص الطويلة مع مراعاة المسافات, كما قال الاخ انترنت بلس
    كود PHP:
    function SmartCut($string$length)
    {
        
    $check      = ($string{$length} == ' ') ? 1;
        
    $cut_symbol "...";

        switch (
    $check)
        {
            case 
    0:
                
    $after_cut substr($string0$length).$cut_symbol;
                break;
                
            case 
    1:
                if ( 
    strlen($string) < $length )
                    
    $after_cut $string;
                else
                {
                    for (
    $i=$length+1$i<=strlen($string); $i++)
                    {
                        if ( 
    $string{$i} == ' ' )
                        {
                            
    $after_cut substr($string0$i).$cut_symbol;
                            
    $done TRUE;
                            break;
                        }
                    }
                    if ( !
    $done )
                        
    $after_cut substr($string0$length).$cut_symbol;
                }

                break;
        }

        return 
    $after_cut;

    للتجربة
    كود PHP:
    echo SmartCut("إذا رأيت نيوب الليث بارزة"17); 
    واذا في اي ملاحظات, ياريت تذكروها عشان نطور الدالة ونستفيد جميعاً ان شاء الله






  6. #6
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    4,037


    ماشاء الله يا عملاق دالة ممتازة ..
    لاحظت فقط أنها تطبع عدد أحرف أكثر من المحدد ..

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

    تعديل:
    ملاحظة أخرى .. لأن الدالة تعمل على الحروف حرف حرف وكذلك دالة substr للاستبدال فهي بطيئة نسبيا (طبعا بالمايكرو ثانية) ..





    __________________
    ....
    محمد حسام
    انترنت بلس

  7. #7
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2003
    المشاركات
    305


    أخي انترنت بلس, آلية عمل الدالة, هي في حالة وجود مسافة بعد الطول المحدد للقطع, سيتم القطع مباشرة
    وإلا فسوف يبحث عن أقرب مسافة للأمام.
    عموماً الدالة ليست دقيقة تماماً, ولكن ان شاء الله راح اطورها إلى ان تصل الى الجودة المطلوبة

    وفكرة المسابقة جداً رائعة اتمنى ان تفكر فيها بجدية, راح تكون منافسة شريفة وقوية وابدعات من الاعضاء مالها آخر, وفي النهاية ممكن نجمعها نحطها في مكتبة للدوال لمن أراد ان يستفيد من الجهود العربية 100%





    __________________
    # مشاريع :
    - الفوائد .. خلاصة العلم والمعرفة
    - غواصة .. اجمع اصدقاءك وابحر بالغواصة

    # مدونتي nawaf.me

  8. #8
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    4,037


    بصراحة أنا كنت في انتظار ردك أنت بالذات فأنا تعجبني أعمالك ومجهوداتك من خلال متابعتي لها في سوالف .. وإن كان معظمها في فترات سابقة .. ومع مبرمج مثلك ستكون الحوارات البرمجية رائعة إن شاء الله ومفيدة للجميع ..

    أوكي .. سأطرح أول مسابقة وتكون للموضوع الحالي ..





    __________________
    ....
    محمد حسام
    انترنت بلس

  9. #9
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2003
    المشاركات
    305


    الله يهديك يا انترنت بلس, انا المفروض اللي اقلك الكلام هذا

    عموماً, انا متحمس للموضوع, وراح اطور الدالة السابقة, واضعها في موضوع المسابقة الذي طرحته
    انتظرني





    __________________
    # مشاريع :
    - الفوائد .. خلاصة العلم والمعرفة
    - غواصة .. اجمع اصدقاءك وابحر بالغواصة

    # مدونتي nawaf.me

  10. #10
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    4,037


    طيب منتظرك
    نريد أن نبدعععععععععععععع .. ماشي؟





    __________________
    ....
    محمد حسام
    انترنت بلس





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

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

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