دروس PHP

PHP الرئيسية مقدمة PHP تثبيت PHP بناء جملة PHP تعليقات PHP متغيرات PHP PHP صدى / طباعة أنواع بيانات PHP سلاسل PHP أرقام PHP PHP الرياضيات ثوابت PHP مشغلي PHP PHP إذا ... آخر ... Elseif مفتاح PHP حلقات PHP وظائف PHP مصفوفات PHP PHP Superglobals PHP RegEx

نماذج PHP

معالجة نموذج PHP التحقق من صحة نموذج PHP نموذج PHP مطلوب نموذج PHP URL / البريد الإلكتروني اكتمل نموذج PHP

PHP متقدم

تاريخ ووقت PHP تضمين PHP معالجة ملفات PHP فتح / قراءة ملف PHP إنشاء / كتابة ملف PHP تحميل ملف PHP ملفات تعريف الارتباط PHP جلسات PHP مرشحات PHP مرشحات PHP متقدم وظائف رد الاتصال PHP PHP JSON استثناءات PHP

PHP OOP

PHP ما هو OOP فئات / كائنات PHP منشئ PHP مدمر PHP معدِّلات الوصول إلى PHP الوراثة PHP ثوابت PHP فئات مجردة PHP واجهات PHP سمات PHP طرق PHP الثابتة خصائص PHP الثابتة مساحات أسماء PHP PHP تكرارات

قاعدة بيانات MySQL

قاعدة بيانات MySQL اتصال MySQL إنشاء قاعدة بيانات MySQL إنشاء جدول MySQL MySQL إدراج البيانات MySQL الحصول على آخر معرف إدراج عدة MySQL تم تجهيز MySQL MySQL حدد البيانات MySQL أين ترتيب MySQL حسب MySQL حذف البيانات تحديث بيانات MySQL بيانات MySQL المحدودة

لغة PHP XML

موزعي PHP XML محلل PHP SimpleXML PHP SimpleXML - احصل على PHP XML Expat PHP XML DOM

PHP - أجاكس

مقدمة أجاكس أجاكس بي إتش بي قاعدة بيانات أجاكس AJAX XML بحث أجاكس لايف استطلاع أجاكس

أمثلة PHP

أمثلة PHP مترجم PHP اختبار PHP تمارين PHP شهادة PHP

مرجع PHP

نظرة عامة على PHP صفيف PHP تقويم PHP تاريخ PHP دليل PHP خطأ PHP استثناء PHP نظام ملفات PHP مرشح PHP PHP FTP PHP JSON كلمات PHP PHP Libxml PHP Mail PHP الرياضيات متفرقات PHP PHP MySQLi شبكة PHP التحكم في إخراج PHP PHP RegEx PHP SimpleXML PHP ستريم سلسلة PHP معالجة متغيرة PHP محلل PHP XML PHP Zip المناطق الزمنية PHP

تعبيرات PHP العادية


ما هو التعبير العادي؟

التعبير العادي هو سلسلة من الأحرف التي تشكل نمط بحث. عندما تبحث عن بيانات في نص ، يمكنك استخدام نمط البحث هذا لوصف ما تبحث عنه.

يمكن أن يكون التعبير العادي حرفًا واحدًا أو نمطًا أكثر تعقيدًا.

يمكن استخدام التعبيرات العادية لإجراء جميع أنواع عمليات البحث عن النص واستبدال النص.


بناء الجملة

في PHP ، تكون التعبيرات النمطية عبارة عن سلاسل مكونة من محددات ونمط ومعدلات اختيارية.

$exp = "/w3schools/i";

في المثال أعلاه ، /هو المحدد ، w3schools هو النمط الذي يتم البحث عنه ، iوهو معدل يجعل البحث غير حساس لحالة الأحرف.

يمكن أن يكون المحدِّد أي حرف ليس حرفًا أو رقمًا أو شرطة مائلة للخلف أو مسافة. المحدد الأكثر شيوعًا هو الشرطة المائلة للأمام (/) ، ولكن عندما يحتوي النمط الخاص بك على خطوط مائلة للأمام ، فمن الملائم اختيار المحددات الأخرى مثل # أو ~.


وظائف التعبير العادي

توفر PHP مجموعة متنوعة من الوظائف التي تتيح لك استخدام التعبيرات النمطية. ال preg_match()، preg_match_all()والوظائف preg_replace()هي بعض من أكثر الوظائف شيوعًا:

Function Description
preg_match() Returns 1 if the pattern was found in the string and 0 if not
preg_match_all() Returns the number of times the pattern was found in the string, which may also be 0
preg_replace() Returns a new string where matched patterns have been replaced with another string

باستخدام preg_match ()

preg_match()ستخبرك الوظيفة ما إذا كانت السلسلة تحتوي على تطابق للنمط .

مثال

استخدم تعبيرًا عاديًا لإجراء بحث حساس لحالة الأحرف عن "w3schools" في سلسلة:

<?php
$str = "Visit W3Schools";
$pattern = "/w3schools/i";
echo preg_match($pattern, $str); // Outputs 1
?>

باستخدام preg_match_all ()

preg_match_all()ستخبرك الوظيفة بعدد التطابقات التي تم العثور عليها لنمط في سلسلة .

مثال

استخدم تعبيرًا عاديًا لإجراء حساب حساس لحالة الأحرف لعدد مرات ظهور "ain" في سلسلة:

<?php
$str = "The rain in SPAIN falls mainly on the plains.";
$pattern = "/ain/i";
echo preg_match_all($pattern, $str); // Outputs 4
?>

باستخدام preg_replace ()

ستستبدل الوظيفة preg_replace()جميع تطابقات النمط في سلسلة بسلسلة أخرى.

مثال

استخدم تعبيرًا عاديًا غير حساس لحالة الأحرف لاستبدال Microsoft بـ W3Schools في سلسلة:

<?php
$str = "Visit Microsoft!";
$pattern = "/microsoft/i";
echo preg_replace($pattern, "W3Schools", $str); // Outputs "Visit W3Schools!"
?>


معدِّلات التعبير العادي

يمكن أن تغير المعدلات كيفية إجراء البحث.

Modifier Description
i Performs a case-insensitive search
m Performs a multiline search (patterns that search for the beginning or end of a string will match the beginning or end of each line)
u Enables correct matching of UTF-8 encoded patterns

أنماط التعبير العادي

تستخدم الأقواس للبحث عن مجموعة من الأحرف:

Expression Description
[abc] Find one character from the options between the brackets
[^abc] Find any character NOT between the brackets
[0-9] Find one character from the range 0 to 9

الحروف الأولية

الحروف الأولية هي أحرف لها معنى خاص:

Metacharacter Description
| Find a match for any one of the patterns separated by | as in: cat|dog|fish
. Find just one instance of any character
^ Finds a match as the beginning of a string as in: ^Hello
$ Finds a match at the end of the string as in: World$
\d Find a digit
\s Find a whitespace character
\b Find a match at the beginning of a word like this: \bWORD, or at the end of a word like this: WORD\b
\uxxxx Find the Unicode character specified by the hexadecimal number xxxx

محددو الكمية

محددات الكميات تحدد الكميات:

Quantifier Description
n+ Matches any string that contains at least one n
n* Matches any string that contains zero or more occurrences of n
n? Matches any string that contains zero or one occurrences of n
n{x} Matches any string that contains a sequence of X n's
n{x,y} Matches any string that contains a sequence of X to Y n's
n{x,} Matches any string that contains a sequence of at least X n's

ملاحظة: إذا احتاج تعبيرك إلى البحث عن أحد الأحرف الخاصة ، يمكنك استخدام شرطة مائلة للخلف (\) للتخلص منها. على سبيل المثال ، للبحث عن علامة استفهام واحدة أو أكثر ، يمكنك استخدام التعبير التالي: $ pattern = '/ \؟ + /'؛


التجمع

يمكنك استخدام الأقواس ( )لتطبيق المحددات الكمية على الأنماط بأكملها. يمكن استخدامها أيضًا لتحديد أجزاء من النمط لاستخدامها كمطابقة.

مثال

استخدم التجميع للبحث عن كلمة "موزة" من خلال البحث عن ba متبوعًا بمثيلين من na :

<?php
$str = "Apples and bananas.";
$pattern = "/ba(na){2}/i";
echo preg_match($pattern, $str); // Outputs 1
?>

مرجع RegExp الكامل

للحصول على مرجع كامل ، انتقل إلى مرجع تعبير PHP العادي الكامل .

يحتوي المرجع على أوصاف وأمثلة لجميع وظائف "التعبير العادي".