الدالة fnmatch()
في PHP
(PHP 4 >= 4.3.0,PHP 5, PHP 7)
تتحقَّق الدالة fnmatch()
من تطابق اسم ملف محدَّد مع نمط معيّن.
الوصف
bool fnmatch ( string $pattern , string $string [, int $flags = 0 ] )
تتحقَّق هذه الدالة من تطابق السلسلة النصيَّة string
المُمرَّرة مع النمط pattern
الذي يمكن أن يُستعمل معه محارف البدل الخاصة (wildcard) المُستخدمة في الصدفة.
المعاملات
pattern
النمط المراد مُطابقته مع السلسلة النصيَّة string
. يمكن استعمال محارف الصدفة الخاصة (wildcard ويشار إليها أيضًا meta characters) لإنشاء النمط.
string
السلسلة النصيَّة المراد التحقُّق من مطابقتها للنمط pattern
. أُنشئت هذه الدالة خصِّيصًا لاستعمالها في مطابقة أسماء الملفات، ومع ذلك يمكن استخدامها مع السلاسل النصيَّة العادية.
قد يعرف بعض المستخدمين المتقدمين طريقة استخدام المحارف الخاصة مثل ? و *، لذا سيكون استخدام الدالة fnmatch()
سهلًا موازنةً مع الدالة preg_match()
.
flags
قيمة هذا المعامل هي واحدةٌ أو أكثر من الرايات الموضَّحة في الجدول التالي، ويمكن جمع أكثر من راية باستعمال المعامل OR الثنائي (|).
الراية | الوصف |
---|---|
FNM_NOESCAPE
|
تعطيل محرف التهريب (الخط المائل العكسي). |
FNM_PATHNAME
|
الخط المائل (slash) الموجود في السلسلة النصيَّة string يجب أن يُطابق الخط المائل الموجود في النمط pattern المعطى فقط.
|
FNM_PERIOD
|
النقطة الموجودة في السلسلة النصيَّة يجب أن تتطابق تمامًا مع النقطة الموجودة في النمط المعطى. |
FNM_CASEFOLD
|
إهمال حالة الأحرف أثناء عمليَّة المطابقة، وهي جزء من ملحق GNU. |
القيم المعادة
تُعاد القيمة TRUE
إن وُجد تطابقًا. خلا ذلك، ستُعاد القيمة FALSE
.
سجل التغييرات
الإصدار | الوصف |
---|---|
5.3.0 | أصبحت هذه الدالة الآن متاحةً على منصة ويندوز. |
أمثلة
المثال 1: التحقق من اسم لون ما باستعمال نمط فيه المحارف الخاصة
<?php
if (fnmatch("*gr[ae]y", $color)) {
echo "some form of gray ...";
}
?>
ملاحظات
تحذير: هذه الدالة غير متاحة على الأنظمة غير المتوافقة مع معيار POSIX باستثناء نظام ويندوز.
انظر أيضًا
- الدالة
glob()
: إيجاد المسارات التي تتطابق مع نمط محدَّد. - الدالة
preg_match()
: تبحث عن تعابير نمطيَّة في سلسلة نصيَّة. - الدالة
sscanf()
: تحلِّل المدخلات من سلسلة نصيَّة وفقًا لتنسيق محدَّد. - الدالة
printf()
: تطبع سلسلة نصيَّة بتنسيق محدَّد. - الدالة
sprintf()
: تعيد سلسلة نصيَّة مُنسَّقة.