صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 15 من 19

الموضوع: طلب مساعدة !! عمل دالة explode لتقطيع أسطر في ملف وإخراجة بشكل جدول ولكن في مشكلة !!

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

    طلب مساعدة !! عمل دالة explode لتقطيع أسطر في ملف وإخراجة بشكل جدول ولكن في مشكلة !!



    السلام عليكم ..
    يا أخواني أريد مساعدتكم في عمل وأبي وساعة صدر بارك الله فيكم .. عندي ملف فيه : أرقام + كلام + حروف رمزية .. وكل الملف باللغة العربية .. وهذا جزء من الملف:

    2962- ضبارة بضم أوله ثم موحدة مخففا ابن عبدالله ابن مالك ابن أبي السليل بفتح المهملة الحضرمي أبو شريح الحمصي مجهول من السادسة [روى عن أبيه وغيره] بخ د س ق
    2963- ضبة ابن محصن العنزي بفتح المهملة والنون بصري صدوق من الثالثة م د ت
    2964- ضبيعة بالتصغير ابن حصين الثعلبي ويقال ثعلبة ابن ضبيعة مقبول من الثالثة د
    2965- الضحاك ابن أيمن الكلبي مجهول من السادسة ق
    2966- الضحاك ابن حمرة بضم المهملة وبالراء الأملوكي بضم الهمزة الواسطي ضعيف من السادسة ت
    2967- الضحاك ابن سفيان ابن عوف ابن كعب ابن أبي بكر ابن كلاب الكلابي أبو سعيد صحابي معروف كان من عمال النبي صلى الله عليه وسلم على الصدقات 4
    2968- الضحاك ابن شراحيل ويقال شرحبيل المشرقي بكسر أوله ثم معجمة ثم فتحة وقاف
    راح تلاحظ أن الأرقام تسلسلية ويمكن استخدام دالة explode لتقطيع الأرقام من علامة ( - ) ..
    أما بانسبة للأمر الصعب هو تقطيع الرموز .. لاحظ في أواخر كل سطر (بخ د س ق) وكذلك (م د ت) .. وكذلك (د) و رموز أخرى .. وأستطيع حصر كل الرموز بالتالي:

    خ
    خت
    بخ
    عخ
    ر
    ي
    م
    مق
    د
    مد
    صد
    خد
    قد
    ف
    ل
    كد
    ت
    تم
    س
    عس
    كن
    سي
    ص
    ق
    فق
    ع
    4
    تمييز
    هذي كل الرموز المستخدمة ..
    والمشلكة الأخرى أن هذه الرموز قد تجتمع في بعض الأماكم مثل (بخ د س ق) أو (م د ت) .. وقد تأتي منفردة ..

    الشاهد أني أردي استخراج الأرقام في مصفوفة والكلام في مصفوفة أخرى والرمز في مصفوفة على أن يكون السطر الواحد مثلاً:
    2962- ضبارة بضم أوله ثم موحدة مخففا ابن عبدالله ابن مالك ابن أبي السليل بفتح المهملة الحضرمي أبو شريح الحمصي مجهول من السادسة [روى عن أبيه وغيره] بخ د س ق
    الرقم 2962 رقمة في المصفوفة [0]
    وأن يكون الكلام :
    ضبارة بضم أوله ثم موحدة مخففا ابن عبدالله ابن مالك ابن أبي السليل بفتح المهملة الحضرمي أبو شريح الحمصي مجهول من السادسة [روى عن أبيه وغيره]
    رقمه في المصفوفة [0] كذلك
    ورقم الرمز في المصفوفة [0] .. ثم الذي بعده [1] وهكذا ..

    طولت عليكم وجزاكم الله خير ..





    __________________
    لغة PHP

    طريقك نحو التقدم و الإبداع .. قريبا جداً


  2. #2
    عضو نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    196


    يا اخواني لا تواخذوني لأني مبتدأ لكني قمت بعمل التالي:
    كود PHP:
    <thml dir=rtl>
    <?php

    $page 
    $_POST['name'];

    if(empty(
    $page))
        {
        
    ?>
        <form method="POST" action="index.php">
        <p align="center"><textarea rows="40" name="name" cols="100"></textarea></p>
        <p align="center"><input type="submit" value="Submit" name="B1"></p>
        </form>
        <?php
        
    }
    else
        {
        
    $SYMBL[0]  = "خ";
        
    $SYMBL[1]  = "خت";
        
    $SYMBL[2]  = "بخ";
        
    $SYMBL[3]  = "عخ";
        
    $SYMBL[4]  = "ر";
        
    $SYMBL[5]  = "ي";
        
    $SYMBL[6]  = "م";
        
    $SYMBL[7]  = "مق";
        
    $SYMBL[8]  = "د";
        
    $SYMBL[9]  = "مد";
        
    $SYMBL[10] = "صد";
        
    $SYMBL[11] = "خد";
        
    $SYMBL[12] = "قد";
        
    $SYMBL[13] = "ف";
        
    $SYMBL[14] = "ل";
        
    $SYMBL[15] = "كد";
        
    $SYMBL[16] = "ت";
        
    $SYMBL[17] = "تم";
        
    $SYMBL[18] = "س";
        
    $SYMBL[19] = "عس";
        
    $SYMBL[20] = "كن";
        
    $SYMBL[21] = "سي";
        
    $SYMBL[22] = "ص";
        
    $SYMBL[23] = "ق";
        
    $SYMBL[24] = "فق";
        
    $SYMBL[25] = "ع";
        
    $SYMBL[26] = "4";
        
    $SYMBL[27] = "تمييز";

        
    $row explode("\n"$page);
        
    $num count($row);
        for(
    $i=0$i <$num$i++)
            {
            
    $NMBR_KLAN[$i] = explode("- "$row[$i]);
    @        
    $NMBR[$i] = $NMBR_KLAN[$i][0];
    @        
    $KLAN[$i] = $NMBR_KLAN[$i][1];
            }
            

        for(
    $i=0$i <$num$i++)
            {
            
    $SIRA_SMBL[$i] = explode(" "$KLAN[$i]);
            
    $NUM[$i] = count($SIRA_SMBL[$i]);
            }
            

        for(
    $i=0$i <$num$i++)
            {
            for(
    $u=0$u <$NUM[$i]; $u++)
                {
                if(
    in_array("$SIRA_SMBL[$i][$u]"$SYMBL))
                    {
                    
    $SMBL[$i][$u] = $SIRA_SMBL[$i][$u];
                    }
                else
                    {
                    
    $SIRA[$i][$u] = $SIRA_SMBL[$i][$u];
                    }
                }
            
    $SMBL[$i] = implode(" "$SMBL[$i][$u]);
            
    $SIRA[$i] = implode(" "$SIRA[$i][$u]);
            
            echo 
    $NMBR[$i]."<BR>";
            echo 
    $SIRA[$i]."<BR>";
            echo 
    $SMBL[$i]."<P>";
            }

        }
    ?>
    </thml>
    لكن المشكلة أن في أخطاء كثيرة .. أرجوكم ساعدوني بارك الله فيكم ..





    __________________
    لغة PHP

    طريقك نحو التقدم و الإبداع .. قريبا جداً

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    196


    لي ألحين ما كو رد ؟؟

    تكفون يا أخواني ساعدوني ..





    __________________
    لغة PHP

    طريقك نحو التقدم و الإبداع .. قريبا جداً

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


    كود PHP:
    $str 'السلام عليكم ورحمة الله وبركاتة';
    $str explode("\n",wordwrap($str,10));
    print 
    $str[0];
    //السلام 
    - PHP: wordwrap - Manual





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

  5. #5
    عضو نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    196


    شكراً لك أخي ضيف على مرورك ..
    لكن لم أفهم قصدك من الكود السابق ..
    الذي فهمته أن الدال wordwrap لها بارامترين رئيسيين .. $str و $width ..
    $str هو عبارة عن النص المراد تقطيعة ..
    $width هو عبارة الرقم المراد تقطيع النص عنده ..
    أو بعبارة أخرى .. تقوم wordwrap بِعَدْ الأحرف في $str ثم تقوم بتقطيعها حسب المدخل $width و التقطيع يكون بالنسبة للأحرف ..
    هذا الذي فهمته .. واعذرني إذا كان فهمي خطأ لأني ضعيف باللغة الإنجليزية ..





    __________________
    لغة PHP

    طريقك نحو التقدم و الإبداع .. قريبا جداً

  6. #6
    عضو نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    196


    يا اخوان اظبطت معاي إلا في الرمز الأخير من كل سطر .. وهذا الكود :

    كود PHP:
    <thml dir=rtl>
    <?php

    @$page $_POST['name'];

    if(empty(
    $page))
        {
        
    ?>
        <form method="POST" action="index.php">
        <p align="center">
        <textarea rows="40" name="name" cols="100" style="direction: rtl; text-align: right"></textarea></p>
        <p align="center"><input type="submit" value="Submit" name="B1"></p>
        </form>
        <?php
        
    }
    else
        {
        
    $SYMBL[0]  = "خ";
        
    $SYMBL[1]  = "خت";
        
    $SYMBL[2]  = "بخ";
        
    $SYMBL[3]  = "عخ";
        
    $SYMBL[4]  = "ر";
        
    $SYMBL[5]  = "ي";
        
    $SYMBL[6]  = "م";
        
    $SYMBL[7]  = "مق";
        
    $SYMBL[8]  = "د";
        
    $SYMBL[9]  = "مد";
        
    $SYMBL[10] = "صد";
        
    $SYMBL[11] = "خد";
        
    $SYMBL[12] = "قد";
        
    $SYMBL[13] = "ف";
        
    $SYMBL[14] = "ل";
        
    $SYMBL[15] = "كد";
        
    $SYMBL[16] = "ت";
        
    $SYMBL[17] = "تم";
        
    $SYMBL[18] = "س";
        
    $SYMBL[19] = "عس";
        
    $SYMBL[20] = "كن";
        
    $SYMBL[21] = "سي";
        
    $SYMBL[22] = "ص";
        
    $SYMBL[23] = "ق";
        
    $SYMBL[24] = "فق";
        
    $SYMBL[25] = "ع";
        
    $SYMBL[26] = "4";
        
    $SYMBL[27] = "تمييز";

        
    $row explode("\n"$page);
        
    $num count($row);
        for(
    $i=0$i <$num$i++)
            {
            
    $NMBR_KLAN[$i] = explode("- "$row[$i]);
    @        
    $NMBR[$i] = $NMBR_KLAN[$i][0];
    @        
    $KLAN[$i] = $NMBR_KLAN[$i][1];
            }
            

        for(
    $i=0$i <$num$i++)
            {
            
    $SIRA_SMBL[$i] = explode(" "$KLAN[$i]);
            
    $NUM[$i] = count($SIRA_SMBL[$i]);
            }


        for(
    $i=0$i <$num$i++)
            {
            for(
    $u=0$u <$NUM[$i]; $u++)
                {
                if(
    in_array($SIRA_SMBL[$i][$u], $SYMBL))
                    {
                    
    $SMBL[$i][$u] = $SIRA_SMBL[$i][$u];
                    }
                else
                    {
                    
    $SIRA[$i][$u] = $SIRA_SMBL[$i][$u];
                    }
                }
                
    @        
    $SMBL[$i] = implode(" "$SMBL[$i]);
    @        
    $SIRA[$i] = implode(" "$SIRA[$i]);

            echo 
    $NMBR[$i]."<BR>";
            echo 
    $SIRA[$i]."<BR>";
            echo 
    $SMBL[$i]."<P>";
            }

        }

    ?>
    </thml>
    لكن فيه مشكلة أن الرمز الأخير يكون ظمن المتغير $SIRA[$i] .. والمفروض يكون ظمن المتغير $SMBL[$i] ..

    يا الله يا شباب وين الفزعة ..





    __________________
    لغة PHP

    طريقك نحو التقدم و الإبداع .. قريبا جداً

  7. #7
    عضو نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    196


    وجدت حل ولكنه حل صعب جدا .. وهو إضافة مسافة في آخر كل سطر .. والملف فيه أكثر من ألف صفحة مكتوبة بهذه الطريقة :eek3: ..

    يا ليل الليل إذا راح أمر على كل هذي الصفحات :eek3: ..

    شوفوني يا الربع شاد حيلي وأحاول .. تكفون أبي واحد يساعدني ..
    يا الله يا اخواني ساعدوني بارك الله فيكم ..





    __________________
    لغة PHP

    طريقك نحو التقدم و الإبداع .. قريبا جداً

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


    اخي جرب المثال ده كده ان شاء الله يشتغل معاك

    كود PHP:
    $text="mohamedhelal";
    echo 
    wordwrap($text,2,"<br>",true);
    //الناتج
    /*
    mo
    ha
    me
    dh
    el
    al
    */ 






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

  9. #9
    عضو نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    196


    هلا فيك أخوي محمد هلال ..
    عفوا .. بس ما فهمت شنو أسوي فيه ؟؟ :looking: :con2:





    __________________
    لغة PHP

    طريقك نحو التقدم و الإبداع .. قريبا جداً

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


    آسف لقد استعجلت في الرد
    أعتقد ان هذا الكود سيعمل مع القليل من التعديل اذا لم يعمل بشكل مباشر .

    كود PHP:
    <?php
    //ضع الكلام هنا
    $data 'aaaaaa';
    //ضع جميع الرموز هنا
    $words = array('خت','بخ','صد');
    foreach(
    $words as $word){
        
    preg_match("/(\\d+)\-(.*)+($word\n)/",$data$arr);
        
    print_r($arr);
    }
    ?>






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

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


    اتفضل اخي شرح لداله

    كود PHP:
    //$textالنص المراض التنفيذ عليه
    //$numعدد الحروف في كل سطر
    //$brهنا تنفيذ بعد عدد الحروف الي في كل سطر
    wordwrap($text,$num,$br,true); 






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

  12. #12
    عضو نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    196


    السلام عليكم .. حيا الله أخوي ضيف ..

    بارك الله فيك يا خوي ضيف على المحاولة ولكن النتيجة كانت :
    Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( )
    ولا أدري شنو السبب :anger2: .. وأنا ما أعرف حق التعابير القياسية وللأسف :shy:

    أخي محمدهلال .. بارك الله فيك ..
    الدالة wordwrap ما راح تفيدني في هذا الوقت حسب علمي القاصر لأن:
    $num عدد الحروف في كل سطر، وفي العمل مالي عدد الحروف في كل سطر غير منظبط ..
    $br هنا تنفيذ بعد عدد الحروف الي في كل سطر، عدد الرموز المراد اقتطاعها غير منظبط .. لأن مرات يأتيني رمز واحد مثل "خت" .. ومرات يأتيني رمزين مثل "كن سي" ومرات يأتيني ثلاث رموز مثل "خ د ق" ومرات يأتيني خمس مثل "خ م د س ق" .. فعددها غير منظبط .. هذي هي المشكلة ..

    جزاكم الله خير وجعل مثواكم الجنة .. قووولووو آمين ..

    ولا تزال المشكلة قائمة ..
    وأنا لا زلت أنتظر حلولكم التي لا غنى لي عنها ..





    __________________
    لغة PHP

    طريقك نحو التقدم و الإبداع .. قريبا جداً

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


    السلام عليكم .. حيا الله أخوي ضيف ..

    بارك الله فيك يا خوي ضيف على المحاولة ولكن النتيجة كانت :

    ولا أدري شنو السبب :anger2: .. وأنا ما أعرف حق التعابير القياسية وللأسف :shy:

    أخي محمدهلال .. بارك الله فيك ..
    الدالة wordwrap ما راح تفيدني في هذا الوقت حسب علمي القاصر لأن:
    $num عدد الحروف في كل سطر، وفي العمل مالي عدد الحروف في كل سطر غير منظبط ..
    $br هنا تنفيذ بعد عدد الحروف الي في كل سطر، عدد الرموز المراد اقتطاعها غير منظبط .. لأن مرات يأتيني رمز واحد مثل "خت" .. ومرات يأتيني رمزين مثل "كن سي" ومرات يأتيني ثلاث رموز مثل "خ د ق" ومرات يأتيني خمس مثل "خ م د س ق" .. فعددها غير منظبط .. هذي هي المشكلة ..

    جزاكم الله خير وجعل مثواكم الجنة .. قووولووو آمين ..

    ولا تزال المشكلة قائمة ..
    وأنا لا زلت أنتظر حلولكم التي لا غنى لي عنها ..

    اخي ماذا تريد ان تعمل بظبط عشان احاول اساعدك اية الي انت محتاجة ؟؟





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

  14. #14
    عضو نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    196


    أخي الحبيب محمدهلال ..
    أنا عندي فايل مكتوب فيه كلام كثير ..
    مثال للكلام المكتوب:
    1- أحمد ابن إبراهيم ابن خالد الموصلي أبو علي نزيل بغداد صدوق من العاشرة مات سنة ست وثلاثين د فق
    2- أحمد ابن إبراهيم ابن فيل باسم الحيوان المعروف أبو الحسن البالسي نزيل أنطاكية صدوق من الثانية عشرة مات سنة أربع وثمانين كن
    3- أحمد ابن إبراهيم ابن كثير ابن زيد الدورقي النكري بضم النون البغدادي ثقة حافظ من العاشرة مات سنة ست وأربعين م د ت ق
    4- أحمد ابن إبراهيم ابن محمد ابن عبدالله ابن بكار ابن عبدالملك ابن الوليد ابن بسر ابن أبي أرطاة البسري بضم الموحدة بعدها مهملة يكنى أبا عبدالملك صدوق من الحادية عشرة مات سنة تسع وثمانين س
    [ ] أحمد ابن إبراهيم التيمي [كذا ذكره صاحب الكمال]صوابه إبراهيم ابن محمد
    5- أحمد ابن الأزهر ابن منيع أبو الأزهر العبدي النيسابوري صدوق كان يحفظ ثم كبر فصار كتابه أثبت من حفظه من الحادية عشرة مات سنة ثلاث وستين س ق
    6- أحمد ابن إسحاق ابن الحصين ابن جابر السلمي أبو إسحاق السرماري بضم المهملة وبفتحها وحكي كسرها وإسكان الراء صدوق من الحادية عشرة مات سنة اثنتين وأربعين خ
    7- أحمد ابن إسحاق ابن زيد ابن عبدالله ابن أبي إسحاق الحضرمي أبو إسحاق البصري ثقة كان يحفظ من التاسعة مات سنة إحدى عشرة م د ت س
    زبدة ما أريد هو تقطيع هذا الكلام إلى الرقم والسيرة والرمز وكل شي في مصفوفة
    مثال:
    1- أحمد ابن إبراهيم ابن خالد الموصلي أبو علي نزيل بغداد صدوق من العاشرة مات سنة ست وثلاثين د فق

    الرقم: 1 .. في مصفوفة اسمها $NMBR ..
    الكلام: أحمد ابن إبراهيم ابن خالد الموصلي أبو علي نزيل بغداد صدوق من العاشرة مات سنة ست وثلاثين .. في مصفوفة اسمها $SIRA ..
    الرمز: د فق .. في مصفوفة اسمها $SMBL ..

    وهذه مصفوفة تحتوي على كل الرموز المستخدمة هي:
    كود PHP:
    $SYMBL = array('خ','خت','بخ','عخ','ر','ي','م','مق','د','مد','صد','خد','قد','ف','ل','كد','ت','تم','س','عس','كن','سي','ص','ق','فق','ع','4','تمييز'); 
    هذا الذي أريده فقط ..





    __________________
    لغة PHP

    طريقك نحو التقدم و الإبداع .. قريبا جداً

  15. #15
    عضو نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    196


    قمت أنا بعمل التالي:
    1- قمت بعمل مصفوفة فيها جميع الرموز المستخدمة ..
    2- قطعت الكلام عند ( \n ) لأحصل على كل سطر في مصفوفة على حدة ..
    3- قطعت كل السطور عند ( - ) لأحصل على الرقم في مصفوفة والسيرة والرمز في مصفوفة ====================> هذه واحدة (1) ..
    4- قطعت مصفوفة والسيرة والرمز عند ( مسافة ) لأحصل على كل كلمة وعلى كل رمز على حدة ..
    5- قمت بمقارنة كل من الكلمات والرموز إذا كانت داخلة في مصفوفة الرموز أم لا .. فإذا كانت داخل الرموز قم بعمل مصفوفة اسمها $SMBL .. وإذا لم تكن داخلة في الرموز قم بعمل مصفوفة اسمها $SIRA ..
    6- قمت بدمج المصفوفة $SMBL بوضع علامة ( مسافة ) بين القيم لأحصل على مصفوفة الرموز ====================> هذه ثانية (2) ..
    7- قمت بدمج المصفوفة $SIRA بوضع علامة ( مسافة ) بين القيم لأحصل على مصفوفة السيرة ====================> هذه ثالثة (3) ..

    وفعلاً تم لي ذلك .. لكن هناك مشكلة .. أن الرمز الأخير من كل سطر يظهر ضمن مصفوفة $SIRA في حين أنه يجب أن يظهر في المصفوفة $SMBL ..

    ولا أدري ما الحل ..





    __________________
    لغة PHP

    طريقك نحو التقدم و الإبداع .. قريبا جداً





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

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

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