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

الموضوع: سؤال عن وظيفة في Regular expressions

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

    Question سؤال عن وظيفة في Regular expressions



    السلام عليكم
    اريد عمل وظيفة بالتعبيرات القياسية وهي استخلاص ترتيب الكلمة في النص بالنسبة لعدد الكلمات وليس عدد الحروف
    مثال:
    النص : يا أيها الذين آمنوا اتقوا الله وقولوا قولاً سديدا
    عدد الكلمات : 9
    الكلمة المراد معرفة ترتيبها قد يكون لها عدة اوضاع:

    1- اتقوا ( المطلوب طباعة الرقم 5 مع تجاهل المسافات)
    2 - اتقوا الله (كلمتين أو أكثر - والمطلوب طباعة الرقم 5 طبعا مع تجاهل المسافات).
    3- تقو ( كلمة مقطوعة من الاول والآخر ويمكن ان تكون مقطوعة من طرف واحد فقط والمطلوب كذلك طباعة الرقم 5)
    4- تقوا الل ( كلمتين او اكثر - ومقطوعتين من الاول والآخر والمطلوب طباعة الرقم 5) - وفي حالة اذا كانت اكثر من كلمتين مثلاً : تقوا الله وقولوا قول (ستكون مقطوعة من اول الجملة وآخرها فقط وليس من وسطها)

    كيف اقوم بتنفيذ ذلك بالتعبيرات القياسية؟ وجزاكم الله خيرا





    التعديل الأخير تم بواسطة مهندس مصرى ; 23-11-2010 الساعة 06:46 PM
    __________________
    قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير


  2. #2
    عضو فعال
    تاريخ التسجيل
    Jun 2008
    المشاركات
    1,600


    اعتقد من الافضل عمل explode للجملة وعمل دالة بحث مناسبة

    يعني دالة ترجع الظهور الأول للكلمة
    أو الظهور الجزئي الأول

    استخدم:

    http://www.php.net/manual/en/function.array-filter.php
    http://www.php.net/manual/en/function.array-search.php

    اسف للخروج عن المطلوب





    التعديل الأخير تم بواسطة ahmad sadiq ; 23-11-2010 الساعة 07:16 PM

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


    نعم لقد قمت بالفعل بعمل هذه الدالة منذ فترة وبشروط اكبر من المذكورة لكن حاليا اريد فقط عمل هذه الدالة بالتعبيرات القياسية لأنه واجهتني مشكلة اذا كانت الكلمة غير كاملة كما في الحالات 3 و 4 .. من الاسهل استخدام preg_match لها .
    لأن array_search لابد ان تطابق القيمة ال value في ال array كما ان هناك مشكلة اخرى عند استخدام explode سيحول الكلمات الى مصفوفة تحمل كل الكلمات وقد تتكرر كلمة معينة في النص اكثر من مرة في الجملة وانا اريد شرط مطابق بالترتيب الموجود في حالة كان النص المراد البحث عنه اكثر من كلمة





    التعديل الأخير تم بواسطة مهندس مصرى ; 23-11-2010 الساعة 08:07 PM
    __________________
    قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير

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


    يمكن استخدام اكثر من داله بهذا الشكل
    كود PHP:
    $data  ='يا أيها الذين آمنوا اتقوا الله وقولوا قولاً سديدا';
    $word 'اتقوا';
    echo 
    count(explode(' 'substr($data0,strpos($data,$word)))); 






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

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


    الله يكرمك اخي ضيف فكرة خطيرة ورائعة لم تخطر ببالي ابداً
    جزاك الله كل خير





    __________________
    قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير





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

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

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