البرمجة

تحويل دالة eregi إلى preg_match

تحتاج إلى تحويل استخدام الدالة eregi() في الكود PHP إلى preg_match()، وهذا بالفعل ممكن وسهل التنفيذ. دالة eregi() كانت تستخدم لإجراء بحث مبني على النص مع عدم الحساسية لحالة الأحرف في PHP، ولكنها أصبحت مهملة في الإصدارات الأحدث من PHP.

لتحويل eregi() إلى preg_match()، يمكنك استخدام التعبير العادي (Regex) بنفس الطريقة التي كنت تستخدمها مع eregi()، ولكن مع بعض التعديلات البسيطة. هناك اختلافات بسيطة في تركيب التعبير العادي بين الدالتين.

الدالة eregi() تستخدم للبحث عن نص بشكل غير حساس لحالة الأحرف، لذا إذا كنت تبحث عن “^..?$” باستخدام eregi()، فإنها ستتطابق مع أي نص يتألف من حرفين على الأقل، ولكن لا تحترم حالة الأحرف.

لتحقيق نفس النتيجة باستخدام preg_match()، يمكنك تعديل التعبير العادي ليحقق نفس الغرض. “^..?$” يعني أنه يجب أن يكون النص مكونًا من حرفين على الأقل ولكن لا يزيد عن ذلك. لذا يمكننا تعديل التعبير العادي ليصبح “/^.{2,}$/i”، حيث:

  • “^” يعني بداية السلسلة.
  • “.{2,}” يعني أي حرف (.) مكرر مرتين أو أكثر ({2,}).
  • “$” يعني نهاية السلسلة.
  • “i” تجعل البحث غير حساس لحالة الأحرف.

لذا، الكود الجديد سيبدو كالتالي:

php
if (preg_match("/^. {2,}$/i", $file)) { continue; }

هذا الكود سيقوم بتحقق ما إذا كان النص في المتغير $file يتكون من حرفين على الأقل دون النظر إلى حالة الأحرف.

بالنسبة للفهم الأساسي لكيفية عمل التعبيرات العادية (Regex)، فإنها تستخدم لتحديد نمط معين في النص. يمكن استخدامها للبحث عن نص معين، أو تحديد تنسيق معين للبيانات، أو حتى استبدال جزء من النص بآخر. تعتمد طريقة كتابة التعبيرات العادية على مجموعة من الرموز والأحرف التي تمثل تنسيقات مختلفة مثل الأحرف، الأرقام، والرموز الخاصة.

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

بالطبع، سأوفر المزيد من المعلومات حول كيفية عمل التعبيرات العادية (Regex) وكيفية تطبيقها في PHP باستخدام دالة preg_match().

  1. تعريف Regex:
    التعبيرات العادية (Regex) هي نمط يُستخدم لتحديد مطابقة نص معين. يمكن استخدام Regex للبحث عن أنماط معينة في النص، واستخراج المعلومات من النص، وتحقق صحة بيانات المدخلات، وإجراء الاستبدالات، وغير ذلك الكثير.

  2. بنية التعبير العادي:
    يتألف التعبير العادي من مجموعة من الرموز والأحرف التي تحدد النمط المطلوب. بداية التعبير العادي تبدأ بحرف مقتبس (/)، ويمكن أن ينتهي بخيارات إضافية مثل حرف i للتأكيد على عدم الحساسية لحالة الأحرف.

  3. استخدام دالة preg_match():
    في PHP، تستخدم دالة preg_match() للبحث عن تطابق للتعبير العادي في سلسلة النص المعطاة. تأخذ preg_match() ثلاثة مدخلات: التعبير العادي، النص المطابق، ومتغير لتخزين النتيجة.

  4. أمثلة على الاستخدام:

    • للتحقق مما إذا كان النص يحتوي على حروف فقط:
      php
      $text = "Hello123"; if (preg_match("/^[a-zA-Z]+$/", $text)) { echo "Contains only letters"; } else { echo "Contains other characters too"; }
    • للبحث عن البريد الإلكتروني في النص:
      php
      $text = "Send an email to [email protected]"; if (preg_match("/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/", $text, $matches)) { echo "Email found: " . $matches[0]; } else { echo "No email found"; }
  5. مفهوم الحرفية في التعبير العادي:

    • []: تستخدم لتحديد مجموعة من الحروف المسموح بها.
    • {}: تحدد عدد مرات تكرار الحرف الذي يسبقها.
    • +: يعني وجود الحرف السابق مرة واحدة أو أكثر.
    • ^ و $: يحددان بداية ونهاية السلسلة على التوالي.

باستخدام هذه المعلومات والأمثلة، يمكنك فهم كيفية استخدام Regex ودالة preg_match() في PHP وتطبيقها بنجاح في البرمجة.

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

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

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر