صفحة 1 من 5 12345 الأخيرةالأخيرة
النتائج 1 إلى 15 من 74

الموضوع: تمارين التعابير القياسية "Regular expressions"

  1. #1

    تمارين التعابير القياسية "Regular expressions"



    بسم الله الرحمان الرحيم

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

    ويمكن ﻷي عضو طرح سؤال خاص بالتعابير القياسية وﻻ يخرج عن نطاقه

    وﻻ يتم وضع سؤال قبل ان يتم اﻻجابة عن السؤال قبله

    من ﻻ يعرف التعابير القياسية سيجد في هذا الرابط site:swalif.net/softs/swalif45 التعابير القياسية - بحث Google‏
    جميع المواضيع المطروحة في هذا المنتدى الخاصة بموضوعنا

    روابط ذات صلة :

    ارســن :: ARCCN - الدرس العشرون: التعابير القياسيه
    Regular expression - Wikipedia, the free encyclopedia

    دوال التعامل مع التعابير القياسية
    PHP: POSIX Regex - Manual
    PHP: Manual Quick Reference
    سأبدأ بأول سؤال

    لدي input اريد ان يكون يقبل فقط تسع ارقام والرقم اﻷول ﻻزم يكون صفر

    والجواب سيكون في ردي الموالي ...





    __________________
    عدت
    اقتراحاتكم -> www.elbachiri.com


  2. #2


    الجواب :

    كود PHP:
    $text="062205820";
    if(
    preg_match("/[0]{1}[0-9]{8}$/",$text))
        {
        echo 
    "الرقم صحيح";
        }
        else
        {
        echo 
    "الرقم غير صحيح";
        } 
    اﻷن سنطور الكود الذي وضعته

    نريد ان يكون الرقم الذي بعد صفر اكبر من صفر يعني 1 2 3....9

    ﻻننا في المغرب ﻻ يمكن ان يكون الرقم هكذا 002546982





    __________________
    عدت
    اقتراحاتكم -> www.elbachiri.com

  3. #3
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    الجواب :

    كود PHP:
    $text="062205820";
    if(
    preg_match("/[0]{1}[0-9]{8}$/",$text))
        {
        echo 
    "الرقم صحيح";
        }
        else
        {
        echo 
    "الرقم غير صحيح";
        } 
    اﻷن سنطور الكود الذي وضعته

    نريد ان يكون الرقم الذي بعد صفر اكبر من صفر يعني 1 2 3....9

    ﻻننا في المغرب ﻻ يمكن ان يكون الرقم هكذا 002546982
    عفواً ، إجابتك ليست دقيقة ، عليك تحديد نقطة البداية بـ ^ ..

    كود PHP:
    if(preg_match("/^[0]{1}[0-9]{8}$/",$text)) 
    لأنه لو بقي كما كتبته أنت لجاز وضع أي رقم قبل الرقم في مثالك ..

    التطوير:
    كود PHP:
    $text="062205820";
    if (
    preg_match("/^[0]{1}[1-9]{1}[0-9]{7}$/",$text)) {
     echo 
    "الرقم صحيح";
    } else {
     echo 
    "الرقم غير صحيح";

    تحياتي، أشرف السمهوري





    __________________
    # اتبعني على Twitter
    # عِرفان ساهم ببناء المحتوى العربي العلمي على الإنترنت!

  4. #4


    شكرا لك على اﻻضافة والتطوير
    كنت قد وضعت ^ ﻻني اعرف اني اقوم بتحديد البداية وازلتها لسبب ﻻ اعرفه ولهذا وضعت الكود بدونها .. اشكرك

    اﻷن لو سمحت او احد اﻻخوة وضع تمرين جديد





    __________________
    عدت
    اقتراحاتكم -> www.elbachiri.com

  5. #5
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    613


    كيف يمكن تفعيل الروابط في نص معين ؟

    مثلاً لدي نص ..
    كود:
    google: http://www.google.com
    yahoo: http://www.yahoo.com
    كيف يمكن تفعيل الروابط فيه ليصبح ..
    كود:
    google: <a href="http://www.google.com">http://www.google.com</a>
    yahoo: <a href="http://www.yahoo.com">http://www.yahoo.com</a>
    لاحظو معي أن الروابط متنوعة ( http, ftp , ... ) ، أيضاً إذا كان الرابط طويلاً ( index.php?id=1&page=2&order=desc ) ، نريد تعبيراً قياسياً متكاملاً ..

    بإنتظار حلولكم ..






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


    كيف يمكن تفعيل الروابط في نص معين ؟

    مثلاً لدي نص ..
    كود:
    google: http://www.google.com
    yahoo: http://www.yahoo.com
    كيف يمكن تفعيل الروابط فيه ليصبح ..
    كود:
    google: <a href="http://www.google.com">http://www.google.com</a>
    yahoo: <a href="http://www.yahoo.com">http://www.yahoo.com</a>
    لاحظو معي أن الروابط متنوعة ( http, ftp , ... ) ، أيضاً إذا كان الرابط طويلاً ( index.php?id=1&page=2&order=desc ) ، نريد تعبيراً قياسياً متكاملاً ..

    بإنتظار حلولكم ..
    السلام عليكم

    هذا حل كتبته سريعاً لما فهمته من المطلوب

    كود PHP:
    <?php
    $a
    ="ftp://www.google.com";
    $x=preg_replace("/^(http|ftp):\/\/(www.)*[a-zA-Z0-9]+\.[a-zA-Z0-9]+([a-zA-Z0-9&=?]+)*$/","<a href='$a'>$a</a>",$a);
    echo 
    $x;
    ?>
    و يمكن اضافة عدة اضافات له أيضاً





    __________________
    أحمد عبد الفتاح
    www.servmix.com
    لمراسلتي : admin@servmix.com


  7. #7
    عضو نشيط
    تاريخ التسجيل
    May 2006
    المشاركات
    168


    موضوع جميل .
    لم أصل بعد إلى هذه المرحلة !!
    هذه أول مرة اقرأ فيها حول التعابير القياسية واستخداماتها
    سأكون متابعة ومشاركة بإذن الله تعالى .

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





    __________________
    100 صقر !!
    يومياتي في تعلم php ..
    أرحب بالمبتدئين لنتعلم معا والمحترفين ليقدموا النصح والتوجيه .
    .
    .
    سبحان الله وبحمده عدد خلقه .. ورضا نفسه .. وزنة عرشه .. ومداد كلماته .

  8. #8
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    613


    حلك غير دقيق ، فهو لا يغطي جميع الروابط ، مثال إذا كان الرابط Google فإنه لايتم إعتباره كرابط ..

    لدي حل ، لكنني أريد أن أرى حلولكم لكي أقارنها بما عندي






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


    محاولة سريعة للتفاعل مع الموضوع :
    كود PHP:
    "/(http|ftp):\/\/(www.)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}\/*(([\w\W\.?&=]+)*)(\s*)/is" 
    تمت تجربته على :

    ملاحظة : تم فصل آخر الرابط بال \s لأنه اكيد اللينك سيكون بعده مسافة





    __________________
    SWF Thumbnail - tweet me

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


    حلك غير دقيق ، فهو لا يغطي جميع الروابط ، مثال إذا كان الرابط Google فإنه لايتم إعتباره كرابط ..

    لدي حل ، لكنني أريد أن أرى حلولكم لكي أقارنها بما عندي
    السلام عليكم . نعم أعلم انه ليس شامل جميع الروابط . قمت بكتابه فقط من اجل تحويل الروابط بشكل عام للشكل الذي طلبته بالأعلي .. عامة لن أضع حل أخر بما أن الأخ ايجيبتنكوا تفضل ووضع حل له و أعتقد انه ان شاء الله سيظبط مع جميع الروابط (لم أقم بتجربته <<< يغلب علي النوم :eek2..

    بانتظار أي أسئلة أخري ان شاء الله ، الموضوع أكثر من رائع و سيفيد جداً الجميع





    __________________
    أحمد عبد الفتاح
    www.servmix.com
    لمراسلتي : admin@servmix.com


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


    Eng/ Ahmed

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





    __________________
    SWF Thumbnail - tweet me

  12. #12
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    تعديلي السريع:
    كود:
    /((http|ftp):\/\/[a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}\/*([\w\/\.\?&=]+)*)/is
    تطبيق لعدة أمثلة وبعدة طرق :
    كود PHP:
    <?php
    $str 
    "http://www.google.com    this is Google
    http://google.com    Google Also !!
    http://google.com/?aaa&a=445as
    http://g-o-o-gle.com/folder1/folder2/index.xml
    http://my-sub-domain.google.com/folder1/folder2/index.xml
    http://www2.google.info"
    ;

    echo 
    preg_replace("/((http|ftp):\/\/[a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}\/*([\w\/\.\?&=]+)*)/is"'<a href="\\1">\\1</a>'$str);
    ?>
    تحياتي، أشرف السمهوري





    __________________
    # اتبعني على Twitter
    # عِرفان ساهم ببناء المحتوى العربي العلمي على الإنترنت!

  13. #13
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    تجربة جديدة ، لا أدري مدى صحتها لكن كلها تجارب واحتمالات ممكنة:
    كود PHP:
    <?php
    $str 
    '
    Link1: http://www.google.com (FIRST)
    Link2: http://google.com Google Also !!
    Link3: http://google.com/?aaa&a=445as
    Link4: http://g-o-o-gle.com/folder1/folder2/index.xml
    Link5: http://my-sub-domain.google.com/folder1/folder2/index.xml
    Link6: http://www2.google.info
    Link7: http://www2.google.info/folder-1/my_ex_folder/file.php3
    '
    ;
     
    echo 
    preg_replace("/((http|ftp):\/\/[a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}([\S]*))/is"'<a href="\\1">\\1</a>'$str);
    ?>
    تحياتي، أشرف السمهوري





    __________________
    # اتبعني على Twitter
    # عِرفان ساهم ببناء المحتوى العربي العلمي على الإنترنت!

  14. #14
    عضو نشيط جدا
    تاريخ التسجيل
    May 2006
    المشاركات
    477


    تجربة جديدة ، لا أدري مدى صحتها لكن كلها تجارب واحتمالات ممكنة:
    كود PHP:
    <?php
    $str 
    '
    Link1: http://www.google.com (FIRST)
    Link2: http://google.com Google Also !!
    Link3: http://google.com/?aaa&a=445as
    Link4: http://g-o-o-gle.com/folder1/folder2/index.xml
    Link5: http://my-sub-domain.google.com/folder1/folder2/index.xml
    Link6: http://www2.google.info
    Link7: http://www2.google.info/folder-1/my_ex_folder/file.php3
    '
    ;
     
    echo 
    preg_replace("/((http|ftp):\/\/[a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}([\S]*))/is"'<a href="\\1">\\1</a>'$str);
    ?>
    تحياتي، أشرف السمهوري
    ده اللي كنت عامل حسابه و خايف منه . ان اشرف يدخل و يرد بالموضوع :eek2:
    مجموعة تعديلات ممتازه يأشرف . بارك الله فيك .

    Egyptechno
    الله يكرمك ياباشا . مانا عارف أني الأصل :funny:
    الفكره اني رديت حسب المتطلبات اللي كانت مذكور بالشكل للرابط المطلوب برد dev11 مع اني اعلم انها لن تكون شامله لجميع الروابط . لكن فضلت وضعها هكذا و لو طلب المزيد كنت هرد بالتعديلات الأكثر . لكن أشرف انهي الاجابه حلاص ووضعها :looking:





    __________________
    أحمد عبد الفتاح
    www.servmix.com
    لمراسلتي : admin@servmix.com


  15. #15
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    613


    حلول رائعة ، لم أجربها لكن .. سأضع مالدي وسأقوم بالتجربة لاحقاً
    كود PHP:
    '[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]' 
    هذا الحل وجدته هنا في سوالف ، وهو يفي بالغرض ..

    سأقوم بالتجربة ولي عودة لاحقاً ..

    ملاحظة : تم فصل آخر الرابط بال \s لأنه اكيد اللينك سيكون بعده مسافة
    ليس دائماً ، قد يكون الرابط في آخر فقرة ويكون متبوعاً مباشرة بنقطة

    قمت بكتابه فقط من اجل تحويل الروابط بشكل عام للشكل الذي طلبته بالأعلي
    ياعزيزي .. ما أوضحته أننا نريد تعبيراً قياسياً متكاملاً أما ما وضعته أنا فما هو الا مثال على تنوع الروابط .










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

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

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