برامج نت - أكبر موقع عربي للبرامج


منتدى برامج نت|منتدى البرامج الكاملة والنادرة|العاب بنات|برامج ايفون | برامج
 
 [ مكتبة البرامج ] [ دليل المواقع  ] [ العاب فلاش  ] [ الوصول السريع ] [ مكتبة الخطوط ] سرعة أتصالك ] تسجيل في موقع | تسجيل في منتدى ] [ اضفنا للمفضلة! ] [ خريطة الموقع ]
القائمة الرئيسية
  الرئيسية
  اضافة مقال
  دليل المواقع
  الارشيف
  اخبر صديقك
  صفحة البحث
  اعلن لدينا
  حسابك
  راسلنا
  احصائية
  افضل 10
  استفتاء
منوعات نت
  مكتبة البرامج
  مكتبة خطوط
  أفحص جهازك
  العاب فلاش
  إضافة لمحركات البحث
  محرر صفحات
  برامج مسنجر  محدّث
  برامج نوكيا 6600
  القاموس
منتدى برامج نت
  منتديات الكمبيوتر والأنترنت
  منتديات التصاميم والجرافيكس
  منتديات العامة
  منتديات الرياضة
  منتديات هواتف الجوال
  منتديات الأفلام والسينما
  منتديات الفضائيات
  منتديات المال والاعمال
جديد البرامج ولاكثر تحميلا

  عدد البرامج : 3025
  عدد التصنيفات : 66
  مرات التحميل : 9346306

جديد البرامج

SpeedUpMyPC 3.5.2356

Online TV Player 3.0.951

AVG Anti-Virus Pro Edition 7.5.483 Build 1094

Vista Manager 1.2.1

LimeWire Pro 4.14.7

TaskInfo 7.1.0.232


الاكثر تحميلا

Kaspersky Anti-Virus 6.0.2.621
[مرات التحميل : 352481]

Adobe Photoshop 8.1 CS
[مرات التحميل : 318695]

java xp
[مرات التحميل : 133823]

50 ثيم لجوال نوكيا 6600-الجزء الثاني
[مرات التحميل : 124482]

القائمة البريدية

اشترك في القائمة البريدية
تصفح الأرشيف
أخر البرامج المشروحة

إزالة الصفحات المخبأة
صفحة للطباعة


مكتبة الصور في لغة PHP
صفحة للطباعة
برنامج الدروس الجزء الاخير
صفحة للطباعة
شرح تثبيت برامج غير متوافقة على وندوز XP
صفحة للطباعة
لقراءة ملفاتBIN,ISO بدون حرقها على CD (مهم)
صفحة للطباعة
النص الذهبي
صفحة للطباعة
دوال التحكم بالنصوص
صفحة للطباعة
شرح مفصل لكيفية ارسال واستقبال الفاكسات عن طريق الويندوز Xp
صفحة للطباعة
[ الأقسام الخاصة ]
مواقع صديقة

المواقع : 603    التصنيفات : 90
1 - شباب الكويت
2 - دردشه طعون الصوتيه
3 - الاتحاد الاسلامي لطلبة سورية
4 - الملتقى الطبي السوري
5 - وحدة العمل الوطني لكرد سورية

دليل المواقع  ::  أضف موقعك

برامج / اغاني / منتديات على كيفك / جديد البرامج
إعلانات
   

التعابير القياسيه

(1308 مجموع الكلمات في هذا النص)(2957 قراءة)صفحة للطباعة
الدرس العشرون: التعابير القياسيه

الدرس العشرون: التعابير القياسيه

تدعم لغة PHP نوعان من التعابير القياسيه , وهي POSIX و PERL , الاول يكون مدمج مع اللغه تلقائيا ولكن الاخر يحتاج الى ان تقوم بتنصيبه ,, لا تقلق فعند استخدامك التنصيب العادي للغة سوف يتم وضع الاثنان معا , يعتبر النوع الاول اسهل في التعلم والطبيق من النواع الثاني , ويتم ترجمته وتشغيله اسرع ,, ولكنه ليس امن كالثاني :)

متطلبات قبل البدأ  :

  • مراجعة الدرس السابع عشر: برمجة الكائنات

اهداف الدرس:

  • مقدمه عن التعابير القياسيه ( Regular Expressions )
  • العثور على النصوص بإستخدام التعابير القياسيه
  • استبدال النصوص بإستخدام التعابير القياسيه
  • فصل النصوص بإستخدام التعابير القياسيه

مقدمه عن التعابير القياسيه ( Regular Expressions ) :

تدعم لغة PHP نوعان من التعابير القياسيه , وهي POSIX و PERL , الاول يكون مدمج مع اللغه تلقائيا ولكن الاخر يحتاج الى ان تقوم بتنصيبه ,, لا تقلق فعند استخدامك التنصيب العادي للغة سوف يتم وضع الاثنان معا , يعتبر النوع الاول اسهل في التعلم والطبيق من النواع الثاني , ويتم ترجمته وتشغيله اسرع ,, ولكنه ليس امن كالثاني :). جميع ما تعلمناه في الدرس السابق كان عباره عن مقانرة نصوص متطابقه او اجزاء من النصوص ولكن ماذا لو احتجنا الى ان نقوم بشيئ اكثر من ذلك ,, فالتعابير القياسيه هي مبتغانا ,, وسوف نقم بالتعلم عليها والتطبيق عليها.

الاساسيات:

التعابير القياسيه هي طريقة لوضع او شرح نمط معين مكرر في نص , فالعباره ( email ) تساوي في التعابير القياسيه ( mail ) و ( ma ) و ( i ). لكن مع استخدام التعابير القياسيه يمكننا المقارنه بالطرق التاليه ,, يقع الحرف في اول النص , الاخر , الوسط , وغير ذلك من الطرق التي سنتطرق لها

الاحرف والتصانيف:

لنأخذ امثله لكي نفهم الاحرف والتصانيف , لو استخدمنا الحرف ( . ) فهذا يقوم بمطابقة اي حرف اخر غير علامة السطر الجديد ( ) , فلو قلنا نريد ان نقوم بمطابقة .at فسوف يكون النتاج كالتالي , cat و mat و sat . لكن هذه الطريقه سوف تقوم ايضا بفرض ان #at نريده مع المقارنه , لكن هناك حل بأن نقوم بجعل المطلوب فقط احرف بالطريقه التاليه [a-z] ارأيت السهوله ؟ مثلا لو اردنا احرف ( vowel ) في مجموعه , سوف نقوم بالتالي [aeiou] , ويمكن استخدام مدى كما فعلنا قبل قليل [a-z] او اكثر من مدى [a-zA-Z] وهذا معناه اي حرف من a الى z سواء كان في حالته الصغرى او الكبرى ( في اللغه الانجليزيه ) , ويمكن ايضا ان نخرج مدى من المقارنه كالتالي [^a-z] فهذا يقوم بمقارنة اي حرف غير a الى z فالعلامه ^ اذا وضعت بين الاقواس [] معناها ( not ) اي ( ليس ) , وضحت الفكره الان ؟ بجانب المدى الذي نقوم بتحديده , او نريد مدى معين في بالنا , هناك مدى معرف سابقا في لغة PHP , لاحظ الجدول التالي:

المدى المعنى
[[:alnum:]] كل الارقام
[[:alpha:]] كل الاحرف
[[:lower:]] كل الاحرف في النمط الصغير
[[:upper:]] كل الاحرف في النمط الكبير
[[:blank:]] فراغات و علامة TAP
[[:space:]] علامات الفراغات
[[:print:]] كل الاحرف القابله للطباعه
[[:graph:]] كل الاحرف القابله للطباعه ما عدا المسافات

التكرار :

في بعض المرات , تريد ان تقول ان هناك بعض النصوص تكرر اكثر من مره, يمكنك التعبير هنا بطريقتين في التعابير القياسيه ,, الاولى بإستخدام الحرف * و معناه  ان النمط يمكن تكرار ( صفر او اكثر ) من مره. والطريقه الاخرى هي الحرف + وهذا معناه ان النمط يمكن ان يتكرر ( مره او اكثر )

اجزاء التعابير:

مثال على هذه الطريقه لتوضيحها , (very )*large سوف تقوم بمطابقة التالي: 'large' و 'very large' و 'very very large' وهكذا

عد اجزاء التعابير:

يمكنك تحديد عدد تكرار بعض الاشياء بإستخدام الارقام بين الاقواس {} , يمكنك تحديد مطابقة تماما بالطريقه التاليه {4} ومعناه 4 مرات تكرار , او مدى تكرار {2 , 4} ومعناه من مرتان الى اربع مرات او مدى غير منتهي {2, } ومعناه على الاقل مرتان تكرار , فلو عملنا التالي (very ){1,3} فسوف يطابق التالي  'very ' و 'very very ' و 'very very very '.

بداية ونهاية التعابير القياسيه :

الطريقه التي سأعرضها الان سوف تقوم بتعليمك ان تطابق النص اذا كان في البدايه او النهايه وغيرها , ويمكن ذلك بإستخدام الحرف ^ , ( انتبه , لا تقم بالتعارض مع الطريقه التي بالاعلى ) , هذا الحرف ^ يقوم بالمقارنه في بداية النص والحرف $ يقوم بالمقارنه في نهاية النص. فلو قلنا ^bob فهذا يطابق bob في بداية النص , ولو قلنا com$ فهذا يقارن com في نهاية النص, لو تلاحظ المثال التالي ^[a-z]$ فهذا معناه ان يطابق اي حرف في النص كل على حده

التفريعات :

لو اردنا ان نطابق العبارات com او edu او net فسوف نستخدم الطريقه التاليه (com) | (edu) | (net)

 ( ملاحظه: لو ادرت ان تطابق احدى علامات التعابير مثل $ او * فيجب ان تضع امامها العلامه , فلو اردت ان تطابق العلامه فسوف تقوم بالتالي )

 

العثور على النصوص بإستخدام التعابير القياسيه :

هناك نوعان لمطايقة التعابير القياسيه , وهما ereg و eregi وطريقة عمل الاول كالتالي:

هذه الداله تبحث في العباره ( search ) عن ما يطابقه بالنمط ( pattern ) , لو قلنا ان لدينا نموذج يضع فيه المستخدم بريد الكتروني ونريد ان نتحقق من صحة البريد الالكتروني , فسوف يكون التعبير القياسي كالتالي:

لنقم بشرح كل عباره على حده :

هذه العباره تعني ان يبدأ النص على الاقل بحرف واحد او رقم واحد او علامة _ او - او مجموع منهم ثم العلامه @

هذا التعبير يطابق الجزء الاول من العنوان مثلا ( yahoo )  ثم العلامه . واستخدمنا كما قلنا بالاعلى

يطابق نهاية البريد الالكتروني مثلا (com)

الان طريقة الاستخدام كالتالي

الدالة eregi تقوم بنفس العمل , ولكنها غير حساسه لحالة الاحرف.

 

استبدال النصوص بإستخدام التعابير القياسيه:

يمكن استخدام دالة استبدال النصوص ereg_replace او eregi_replace بنفس طريقة استخدام الدالة str_replace التي تعلمناها في الدرس السابق, وكما تعلم الداله eregi_replace هي نفسها الداله ereg_replace ولكن غير حساسة لحالة الاحرف

فصل النصوص بإستخدام التعابير القياسيه:

داله اخرى مفيده في التعابير القياسيه وهي split ,, وطريقتها كالتالي

الان لاحظ المثال التالي:

وناتج المثال هو كالتالي:

سؤال على الدرس :

1 - قم بالتعديل على تطبيق الدرس السابق , لكي يضمن التحقق من صحة البريد الالكتروني وان يكون الشركه غير مجانيه على سبيل المثال , واذا كانت الرساله تحوي على كلمة قطع غيار فيتم ارسالها الى قسم معين وهكذا

الـــدرس الــقادم :

سوف نتعرف في الدرس القادم على التاريخ والتحكم به في لغة PHP

  

[ العودة الى دروس php | قائمة الأقسام الخاصة ]
مقالات قديمة

2004/09/19
ArcSoft Funhouse
صفحة للطباعة / أرسل هذا المقال لصديق
2006/02/08
يا سلام Internet Download Manager 5.02 Build 5 مستحيل
صفحة للطباعة / أرسل هذا المقال لصديق
2008/05/17
AusLogics BoostSpeed 4.1.3.121 FuLL جهاز خالي من الأخطاء
صفحة للطباعة / أرسل هذا المقال لصديق
2005/09/03
Eye Candy 5 Impact
صفحة للطباعة / أرسل هذا المقال لصديق
2009/07/15
تحميل برنامج تسريع الانترنت Ashampoo Internet Accelerator 3.10
صفحة للطباعة / أرسل هذا المقال لصديق
2004/11/01
EasyRecovery DataRecovery 6
صفحة للطباعة / أرسل هذا المقال لصديق
2007/02/24
Microsoft Plus! Digital Media Edition 2006 حزمة مايكروسفت
صفحة للطباعة / أرسل هذا المقال لصديق
2009/09/04
جميع برامج Ashampoo كاملة متاحة لتحميل
صفحة للطباعة / أرسل هذا المقال لصديق
2005/06/29
AV Voice Changer 4.0.39
صفحة للطباعة / أرسل هذا المقال لصديق
2004/11/22
iProtectYou Pro Web Filter v7.04
صفحة للطباعة / أرسل هذا المقال لصديق
اخر البرامج المشروحة


خاصية الدمج في الشعارات
صفحة للطباعة
[شرح] طريقة إضافة عبارات اللغة
صفحة للطباعة
لاحظ سرعة الأنترنت والتصفح وسرعة حاسوبك في أداء عملياته جديد يهز برامج نت liutilities
صفحة للطباعة
[شرح] عرض إحصائيات لوحة التحكم للمدير
صفحة للطباعة
التعابير القياسيه
صفحة للطباعة
شرح إضافة نوع مرفق جديد للمنتدى
صفحة للطباعة
أعمل صفحة ممزقة
صفحة للطباعة
برنامج LogoManager 1.2.9 مع التعريب والكراك
صفحة للطباعة
Recover4allpro2.09 لاسترجاع الملفات
صفحة للطباعة
برنامج .. kollmoves لانشاء تواقيع روعه جدداا
صفحة للطباعة
مراقبة ومتابعة أعضاء الإدارة
صفحة للطباعة
طريقة تحويل افلامك من Avi Divx الى Dvd وتركيب الترجمة العربية حصريا على برامج نت
صفحة للطباعة
إنشاء المرايا والأسطح العاكسة
صفحة للطباعة
لقراءة ملفاتBIN,ISO بدون حرقها على CD (مهم)
صفحة للطباعة
شرح طريقة fdisk مع الفور مات
صفحة للطباعة
برنامج FlashGet V1.65.1 Final+الشرح+ لتعريب+السيريل نمبر
صفحة للطباعة
طريقة دمج الصور
صفحة للطباعة
نص منفجر بشدة
صفحة للطباعة
مقدمه عن قواعد البيانات
صفحة للطباعة
إكساء المجسمات الكروية
صفحة للطباعة
شرج برنامج WMware - جهاز داخل جهاز عندي نظام فيستا داخل نظام اكس بي
صفحة للطباعة
شرح إضافة لغة جديدة للمنتدى
صفحة للطباعة
حذف أحد مجالس المنتدى
صفحة للطباعة
ادراج الملفات والدوال بأنواعها
صفحة للطباعة
مكتبة الصور في لغة PHP
صفحة للطباعة
أجعل جهازك اسرع من مكوك الفضاء
صفحة للطباعة
متفرقات وتطبيق على المصفوفات
صفحة للطباعة
أهمية الكلمات المفتاحية KeyWords
صفحة للطباعة
[شرح] طريقة إخفاء مجلس عن عدد من المجموعات
صفحة للطباعة
جوجل صديقا لموقعك (الجزء الثاني)
صفحة للطباعة
الموضوع الشامل لصناعة ويندوز شخصي مدموج معه كل التحديثات والبرامج
صفحة للطباعة
موقعك و جوجل و الـ PageRank - دراسة مفصلة
صفحة للطباعة
شرح لعملاق برامج التحرير Ulead VideoStudio 9
صفحة للطباعة
إحصائية شاملة ودقيقةعن محركات الأقراص
صفحة للطباعة
عبارات التكرار
صفحة للطباعة
دمج عضوين تحت إسم واحد
صفحة للطباعة
برنامج fot twister لعمل تأثيرات رائعة ثلاثية الابعاد على النصوص
صفحة للطباعة
المتغيرات , الثوابت و المعاملات
صفحة للطباعة
File Manager مدير الملفات
صفحة للطباعة
[هاك] منع إقتباس الموضوع
صفحة للطباعة
تفريغ مراقبة ومتابعة أعضاء الإدارة
صفحة للطباعة
إرشادات لمشرف الموقع
صفحة للطباعة
برمجة الكائنات
صفحة للطباعة
تصنيف موقعي محير بالنسبة لي
صفحة للطباعة
دوال التحكم في قواعد البيانات
صفحة للطباعة
شرح تلوين رتب المتواجدين بالالوان
صفحة للطباعة
[شرح] تفريغ البحث + إعادة بناء البحث
صفحة للطباعة
الجلسات في PHP
صفحة للطباعة
[ الأقسام الخاصة ]
  تصميم وتطوير برامج نت Bramjnet.Com

PHP-Nuke Copyright © 2005 by Francisco Burzi
جميع المشاركات والمواضيع في موقع برامج نت لا تعبر بالضرورة عن رأي إدارته بل تمثل وجهة نظر كاتبها

منتدى برامج نت إبداع و تميز  أكبر منتدى عربي أكبر موقع عربي للبرامج  دليل المواقع برامج نت  جديد الخطوط  جديد المقالات  جديد البرامج