يتم استخدام الدالة preg_match_all لإجراء مطابقة عامة للتعبير العادي.
int preg_match_all ( سلسلة $pattern , سلسلة $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )
ابحث في الموضوع عن جميع النتائج المطابقة لنمط المطابقة مع التعبير العادي المحدد وأخرجها إلى التطابقات بالترتيب المحدد بواسطة العلامة.
بعد العثور على التطابق الأول، يستمر البحث اللاحق من موضع المطابقة الأخير.
وصف المعلمة:
$pattern: النمط المطلوب البحث عنه، في شكل سلسلة.
$الموضوع: سلسلة الإدخال.
المطابقات $: مصفوفة متعددة الأبعاد، يتم إخراج جميع النتائج المطابقة كمعلمات إخراج، ويتم تحديد فرز المصفوفة بواسطة العلامات.
علامات $: يمكن استخدامها مع العلامات التالية (لاحظ أنه لا يمكن استخدام PREG_PATTERN_ORDER وPREG_SET_ORDER في نفس الوقت):
PREG_PATTERN_ORDER: يتم فرز النتائج بحيث يحتفظ $matches[0] بجميع مطابقات النمط الكامل، ويحتفظ $matches[1] بجميع مطابقات المجموعة الفرعية الأولى، وهكذا.
PREG_SET_ORDER: يتم فرز النتائج على النحو الذي يحتوي $matches[0] على جميع المطابقات (بما في ذلك المجموعات الفرعية) التي تم الحصول عليها من خلال المطابقة الأولى، و $matches[1] عبارة عن مصفوفة تحتوي على جميع المطابقات (بما في ذلك المجموعات الفرعية) التي تم الحصول عليها بواسطة المطابقة الثانية، لذلك يتم القياس.
PREG_OFFSET_CAPTURE: إذا تم تمرير هذه العلامة، فسيتم إرجاع كل تطابق تم العثور عليه مع زيادة إزاحته بالنسبة إلى السلسلة الهدف.
الإزاحة: عادة، يبدأ البحث من بداية السلسلة المستهدفة. يتم استخدام إزاحة المعلمة الاختيارية لبدء البحث من الموضع المحدد في السلسلة المستهدفة (الوحدة هي البايت).
إرجاع عدد التطابقات الكاملة (ربما 0)، أو FALSE في حالة حدوث خطأ.
نتيجة التنفيذ هي كما يلي:
المصفوفة( [0] => <b>PHP</b> [1] => <b>لغة البرمجة</b>)
نتيجة التنفيذ هي كما يلي:
متطابق: <b>نص غامق</b>الجزء 1: <b>الجزء 2: bالجزء 3: نص غامق الجزء 4: </b>متطابق: <a href=howdy.html>انقر فوقي</a>الجزء 1: <a href=howdy.html>الجزء 2: الجزء 3: انقر فوق الجزء 4: </a>