البرمجة

كيفية استخدام preg_match() في PHP

للقيام بذلك باستخدام preg_match() في PHP، يمكنك استخدام التعبير العادي التالي:

php
$pattern = '/CN=([^,]+)/'; $string = 'CN=Carina Costa(42353),OU=Administrativos,OU=Amadora,OU=Utilizadores,DC=hluz,DC=ess,DC=local'; preg_match($pattern, $string, $matches); echo $matches[1]; // سيظهر "Carina Costa(42353)"

في هذا التعبير العادي، /CN=([^,]+)/:

  • CN=: يطابق النص “CN=” بالضبط.
  • ([^,]+): تعبير فرعي يستخدم للتقاط أي حرف غير فاصلة (,). تتمثل الفكرة هنا في أن القيمة التي تريد التطابق معها هي أي شيء بين “CN=” والفاصلة التالية.

المزيد من المعلومات

لفهم الكود بشكل أفضل، يمكننا تفسيره بالتفصيل:

  1. $pattern = '/CN=([^,]+)/';: هذا هو نمط التعبير العادي الذي يستخدم للبحث في السلسلة. يبدأ بشرطة مائلة / وينتهي بها أيضًا. داخل الشرطتين المائلتين، يأتي النمط الرئيسي /CN=([^,]+)/:

    • CN=: هذا يحدد النص الذي نريد أن نطابقه بالضبط، وهو “CN=”.
    • ([^,]+): هذا الجزء هو فقاعة التطابق، وهي عبارة عن أي شيء غير فاصلة (,). يتم التقاط القيمة التي تأتي بعد “CN=” وحتى الفاصلة القادمة. هذا يسمح بالعثور على الاسم الذي تبحث عنه.
  2. $string = 'CN=Carina Costa(42353),OU=Administrativos,OU=Amadora,OU=Utilizadores,DC=hluz,DC=ess,DC=local';: هذه هي السلسلة التي تريد البحث فيها عن النص المطابق.

  3. preg_match($pattern, $string, $matches);: هذا السطر يستخدم preg_match للبحث عن نمط في سلسلة. يأخذ ثلاثة مدخلات:

    • النمط العادي.
    • السلسلة التي تريد البحث فيها.
    • متغير لتخزين النتائج المطابقة.
  4. echo $matches[1];: بعد استخدام preg_match، ستكون النتيجة في مصفوفة $matches. $matches[0] يحتوي على النص الكامل الذي تطابق مع النمط، و $matches[1] يحتوي على القيمة التي تم التقاطها داخل الفقاعة ([^,]+)، وهي “Carina Costa(42353)” في هذه الحالة.

بهذه الطريقة، يمكنك استخدام preg_match في PHP للبحث عن نصوص معينة داخل سلاسل أخرى بناءً على أنماط محددة.

مقالات ذات صلة

زر الذهاب إلى الأعلى

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!