التقسيم والأنماط العملية
قسّموا السلاسل النصية باستخدام preg_split وأنشئوا أنماط تحقق شائعة
التقسيم والأنماط العملية درس مجاني في PHP Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في PHP Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة PHP Academy 4 دروس في المجموع.
توقيع preg_split()
تقسّم preg_split($pattern, $subject, $limit, $flags) سلسلة نصية باستخدام محدِّد regex، وتعيد مصفوفة من السلاسل الفرعية.
تقسيم بسيط
قسّم السلسلة عند أي تسلسل من المسافات البيضاء.
<?php
$words = preg_split('/\s+/', "Hello World\tFoo");
print_r($words); // ["Hello", "World", "Foo"]التقسيم مع تحديد الحد
تحدّد المعلمة الثالثة عدد الأجزاء التي تُعاد. ويحتوي الجزء الأخير على بقية السلسلة.
<?php
$parts = preg_split('/,\s*/', "a, b, c, d", 3);
print_r($parts); // ["a", "b", "c, d"]PREG_SPLIT_NO_EMPTY
تزيل علامة PREG_SPLIT_NO_EMPTY السلاسل الفارغة من النتيجة، وهي مفيدة عندما يحتوي الإدخال على محدِّدات متتالية.
<?php
$parts = preg_split('/,/', "a,,b,,c", -1, PREG_SPLIT_NO_EMPTY);
print_r($parts); // ["a", "b", "c"]PREG_SPLIT_DELIM_CAPTURE
أدرج المحدِّد، ومجموعات الالتقاط الخاصة به، في مصفوفة النتيجة.
<?php
$parts = preg_split('/(,)/', "a,b,c", -1, PREG_SPLIT_DELIM_CAPTURE);
print_r($parts); // ["a", ",", "b", ",", "c"]نمط التحقّق من البريد الإلكتروني
تعبير نمطي عملي للبريد الإلكتروني، بامتثال مبسّط لـ RFC-5322:
<?php
function validEmail(string $s): bool {
return (bool) preg_match(
'/^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$/',
$s
);
}نمط التحقّق من URL
تحقّق من عناوين URL التي تستخدم http أو https.
<?php
function validUrl(string $s): bool {
return (bool) preg_match(
'#^https?://[\w\-]+(\.[\w\-]+)+(/[^\s]*)?$#i',
$s
);
}نمط أرقام الهواتف
اسمح برمز دولة اختياري، وبالشرطات أو النقاط أو المسافات بين مجموعات الأرقام.
<?php
$pattern = '/^\+?[1-9]\d{0,2}[\s\-.]?\d{3}[\s\-.]?\d{4,7}$/';
preg_match($pattern, '+1 800 555-1234', $m);نمط قوة كلمة المرور
اشترط 8 محارف على الأقل، مع محرف كبير واحد ورقم واحد ومحرف خاص واحد.
<?php
function strongPassword(string $p): bool {
return preg_match('/^(?=.*[A-Z])(?=.*\d)(?=.*[^\w]).{8,}$/', $p);
}نمط عنوان IPv4
تحقّق من عنوان IPv4، بحيث تكون قيمة كل جزء ثماني بين 0 و255.
<?php
$ipv4 = '/^(25[0-5]|2[0-4]\d|[01]?\d\d?)(\.(25[0-5]|2[0-4]\d|[01]?\d\d?)){3}$/';نمط تنسيق التاريخ
تحقّق من سلاسل التاريخ بالتنسيق YYYY-MM-DD.
<?php
$date = '/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/';
var_dump((bool) preg_match($date, '2025-06-15')); // trueالملخّص
تقسّم preg_split السلاسل وفق نمط. توجد أنماط عملية للبريد الإلكتروني وعناوين URL والهواتف والتواريخ، لكن احرص دائمًا على تفضيل filter_var للأنواع القياسية.
تحقّق سريعًا
أي علامة تزيل السلاسل الفارغة من نتائج preg_split؟
الأسئلة الشائعة
هل درس «التقسيم والأنماط العملية» مجاني؟
نعم — نص درس «التقسيم والأنماط العملية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة PHP Academy، انتقل إلى CoddyKit PRO. تتضمن دورة PHP Academy 4 دروس في المجموع.
ماذا ستتعلم في «التقسيم والأنماط العملية»؟
قسّموا السلاسل النصية باستخدام preg_split وأنشئوا أنماط تحقق شائعة تتمرن على PHP Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ PHP Academy؟
لا تُشترط خبرة سابقة. PHP Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «التقسيم والأنماط العملية»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس PHP Academy هذا؟
نعم. كل درس في PHP Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- أساسيات بنية Regex
- المطابقة باستخدام preg_match
- استبدال النص باستخدام preg_replace
- التقسيم والأنماط العملية