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

الموضوع: [ درس ] الإستقطاع من عدد الاحرف في العنوانين الطويلة

  1. #1

    [ درس ] الإستقطاع من عدد الاحرف في العنوانين الطويلة



    اخواني الكرام

    اليوم سوف نتعلم استخدام دالة مهمه وهي دالة substr
    وعمل هذه الدالة هو استقطاع جزء انت تحدده كمبرمج واليك طريقة الاستخدام وهي جداً سهله

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

    مثال

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

    فاليكم الطريقة

    كود PHP:
    <?
    // ********* t s m i m . c o m ********** //
    //     هنا سوف نتعلم استخدام دالة         //
    //     الاستقطاع من العوانين الطويلة      //
    //      بأستخدام دالة تسمى بــ            //
    //               substr                   //
    // ********* t s m i m . c o m ********** //



    $title=18// حدد عدد الاحرف للعنوان

    $message="السلام عليكم ور حمة الله وبركاته الحمد لله رب العاملين";
    $abosaleh substr($message0$title);

    echo 
    '<center><b>';   // هنا وصعنا كود توسيط + عريض
    echo "...".$abosaleh// هنا سوف يتم عرض المتغير  الى حد 18حرف فقط

    ?>
    وبأذن الله راح نمسك الدوال وحده وحده بأمثلة خفيفه من هالنوع لكي يسهل على المبتدئين التعامل مع الدوال

    الناتج بعد تشغيل الملف على سيرفر الاباتشي المحلي كالتالي :






    __________________
    +======================+
    شبكة تصميم لتطوير المواقع
    www.tsmim.com
    سكربتات حصرية - وتصاميم مميزة لموقعك
    +======================+


  2. #2
    عضو نشيط
    تاريخ التسجيل
    Sep 2002
    المشاركات
    182


    مشكور اخي على الدرس المفيد


    الى المزيد اخي الكريم






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


    جزاك الله خيرا


    واحببت اضافة نقطة .. كما ترى بالمثال .. الكلمة مقطوعة ورحم..


    لو احببت اقتناص عدد حروف معينة دون قطع الكلمة .. فإليك هذه الفنكشن من برمجتي

    كود PHP:
    function wordCut($text$limit$msg){
        if (
    strlen($text) > $limit){
            
    $txt1 wordwrap($text$limit'[cut]');
            
    $txt2 explode('[cut]'$txt1);
            
    $ourTxt $txt2[0];
            
    $finalTxt $ourTxt.$msg;
        }else{
            
    $finalTxt $text;
        }
        return 
    $finalTxt;
    }

    wordCut('anyt text here'6'...'); 
    ولمن اراد بعض التفاصيل عن كيفية عملها :
    http://php.net/wordwrap

    ثاني تعليق من فوق


    تحياتي





    __________________
    SWF Thumbnail - tweet me

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


    بارك الله فيكم والله مجتاجين مثل هذي الطريقة في شرح الدوال تكفون المتابعة .






  5. #5


    جزاكم الله خيراً إخواني ..

    كنت قد برمجت دالة في احدى المرات ، سوف أجلبها لكم ممكن تستفيدوا منها .. تفضلوا :
    كود PHP:
        function cutstr($str,$num,$cutwords=0,$cutby=1,$dotsatend=1) {
            
    // note that the parameter ($cutwords) is optional & only be actived if the cutting operation is applied on letters not words ..!!

            
    $originalstr $str;

            
    $find = array("/((\<BR\>)+)/si");
            
    $replace = array(" \\1");
            
    $str preg_replace($find,$replace,$str);

            
    // first , if we want to shorten by words num
            
    if (($cutby=="2" || $cutby=="words") && $num>0) {
                
    // split $str into elements in an array by words
                
    $str explode(" ",$str);

                
    // make a counter for words
                
    $x 1;
                while (list(
    $a,$b) = each($str)) {
                    
    // add this word to the returned value
                    
    $retval .= $retval == "" $b " ".$b;

                    
    // if this is the last word we'll end this loop
                    
    if ($x==$num) { break; }

                    
    // add 1 to the counter
                    
    $x++;
                }

                
    // compare between the original string and the returned value to add dots if neccessary
                
    if ($dotsatend 0) {
                    if (
    $retval != $originalstr) {
                        
    $dotnum 0;
                        
    $dots "";
                        while (
    $dotnum $dotsatend) {
                            
    $dots .= ".";
                            
    $dotnum++;
                        }
                        
    $retval $retval " " $dots;
                    }
                }

                
    // return the cut part
                
    return $retval;
            } 
    تحياتي، sBForum





    __________________
    أحمد أبو النصر
    Junior php Developer
    +20166196074

  6. #6
    عضو فعال جدا
    تاريخ التسجيل
    Jun 2003
    المشاركات
    2,123


    مشكور ابو صالح وكل عام وانت بخير , والافضل هو عدم اقتطاع الكلمة كما هو في ردود الاخوان وخاصة الغالي اشرف و الاخ Egyptechno وكل عام والجميع بخير .





    __________________
    htaccess بكل بساطة

    الشفرة الموحدة "يونِكود"

    (إن من مفاسد هذه الحضارة أنها تسمي الاحتيال ذكاءً، والانحلال حرية، و"الرذيلة فناً" والاستغلال معونة) - مصطفى السباعي

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


    مشاء الله معلومات مفيدة جداً

    انا طبقت دالة الأخ العزيز Egyptechno ونجحت معي وخزنتها في الارشيف

    وشكراً ابو صالح على هالموضوع الجميل

    اخي : sBForum
    شكراً لك على مادرتك ومجهودك وقمت بتخزين الدلة بتاعتك








  8. السلام يا جماعة ..
    في بعض الاحيان تحتاج الى اشيا اخرى وخاصة مع المخرجات التي من النوع UTF-8 يعني ان اللغه العربيه اذا كانت تاتي من قاعدة البيانات و تخرج عن طريق الترميز UTF-8 .. يكون صعب القطع بواسطة الدوال العادية المتاحة في الPHP .. فبعد القطع يتحول اخر حرف الى خرف غير معروف مثل الحرف � .. وانت لا تريد ان ترى هذا الحرف في الموقع صح ؟

    فكرة الحل هو باستخدام الاوامر المتاحة بعد تفعيل الدوال الخاصة التي لها امكانيت التعامل مع الحروف التي تتكون من بتان "two bytes" و تفعل هذة الداله على السرفر المحلي بطريقة ازاله ال" ; " من اول السطر "extension=php_mbstring.dll;" الموجود في الملف php.ini

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

    كود PHP:
    <?

        
    // الداله لتقصير الجمل
        
    function truncate($substring$max 45$rep '...') {
           
    $leave $max strlen ($rep);
           
           
    // الداله التي قمنى بالتكلم عنها هي
           // mb_substr();
           // و للمزيد من المعلومات اذهب الى
           // www.php.net/mb_substr
           
           
    return (strlen($substring) > $max) ? mb_substr($substring,0,$leave,'UTF-8').'...' $substring;
       }
       
       
    // استخدام الدالة
       // $mysql_connection = ....
       // select_db($mysql_connection .....
       // $mysql_result = mysql_query(......
       // $row = mysql_fetch_array($mysql_result);
       
       // truncate('عدد الحروف المطلوبة','الجملة');
       
    echo truncate($row['title'],200);   
    ?>






    __________________
    هلابي افضل المواقع العربية تصميماً
    انصح باستخدام ابونتو

  9. #9


    الله يثيبكم اخواني الكرام على التفاعل مع الموضوع واتنمى كل الفائدة للجميع





    __________________
    +======================+
    شبكة تصميم لتطوير المواقع
    www.tsmim.com
    سكربتات حصرية - وتصاميم مميزة لموقعك
    +======================+





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

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

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