أصبحت دالة preg_match الآن غير ضروية، وذلك بعد إصدار أنواع جديدة للحقول فى لغة HTML5، كما ايضًا توفرت طريقة لتحديد صيغة المدخلات فى الحقول وذلك عبر خاصية Pattern فى HTML5، ولكن preg_match تظل لها بعض الإستخدامات المهمة مثل التحقق من وجود بعض الكلمات فى رابط URL الصفحة، وتلك الإستخدامات تعتبر هي أهم إستخدامات لتلك الدالة، ولذلك فكّرت فى سرد شرح مبسط عنها.
بعد أن فهمنا مهمة تلك الدالة، تبقى عليك أن تعلم تركيبة تلك الدالة.
البارامتر الأول وهو تقوم فيه بإدخال الصيغة التى تريد البحث عنها، أما البارامتر الثاني فسوف تضع فيه النص او المتغير الذي تريد البحث فيه عن ذلك الذي قمت بوضعه مسبقًا فى البارامتر الثاني، أما البارامتر الثالث فهو بارامتر تستخدمه فى حالة إذا كنت تريد أن تقوم بإخراج مخرجات الدالة على شكل مصفوفة، حيث سيكون هذا البارامتر هو اسم تلك المصفوفة أما بقية البارامترات حقيقةً لا أدري وظيفتها !
مثال1:
<?php
$subject = "abcdef";
$pattern = '/^def/';
preg_match($pattern, substr($subject,3), $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?>
$subject = "abcdef";
$pattern = '/^def/';
preg_match($pattern, substr($subject,3), $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?>
الجدير بالذكر أن الصيغة دائمًا ما تبدأ بعلامة سلاش / وتنتهي بها أيضًا، وقد لا تحتاج إلى بناء صيغة بنفسك، فقد تستطيع عبر البحث فى Google إيجاد صيغ جاهزة تستطيع إستخدامها.
مثال2:
<?php
// The "i" after the pattern delimiter indicates a case-insensitive search
if (preg_match("/php/i", "PHP is the web scripting language of choice.")) {
echo "A match was found.";
} else {
echo "A match was not found.";
}
?>
وبهذا تكون قد وصلتك فكرة جيدة عن إستخدام تلك الدالة.
// The "i" after the pattern delimiter indicates a case-insensitive search
if (preg_match("/php/i", "PHP is the web scripting language of choice.")) {
echo "A match was found.";
} else {
echo "A match was not found.";
}
?>
0 التعليقات:
إرسال تعليق