الدالة preg_replace_callback_array()
في PHP
(PHP 7)
تبحث الدالة preg_replace_callback_array()
عن تعبير نمطي وتستبدله باستخدام الدوال المُعرفة من المستخدم (callbacks).
الوصف
mixed preg_replace_callback_array ( array $patterns_and_callbacks , mixed $subject [, int$limit = -1 [, int &$count ]] )
يشبه سلوك هذه الدالة سلوك الدالة preg_replace_callback()
، باستثناء أنها تُنفِّذ الدوال المُعرّفة من المستخدم أساس كل نمط.
المعاملات
patterns_and_callbacks
مصفوفة مرتبطة تربط الأنماط (المفاتيح) مع الدوال المُعرّفة من المستخدم (القيم).
subject
السلسلة النصية، أو مصفوفة من السلاسل النصية المراد البحث والاستبدال فيها.
limit
أقصى عدد بدائل ممكنة من كل نمط متواجد في كل سلسلة subject
. قيمته الافتراضية -1 (بلا حدود).
count
إذا حُدِد فستصبح قيمة هذا المتغير تساوي عدد عمليات الاستبدال.
القيم المعادة
تُعيد هذه الدالة مصفوفةً إذا كانت المعامل subject
يمثل مصفوفة، أو تُعيد سلسلةً نصية خلاف ذلك. في حالة وجود خطأ تكون القيمة المعادة هي NULL
.
إذا عُثِرَ على تطابقات، تُعاد السلسلة النصية الهدف الجديدة، وإلا تُعاد السلسلة الهدف الأصلية subject
دون تغيير.
أمثلة
المثال 1: مثال على الدالة preg_replace_callback_array()
<?php
$subject = 'Aaaaaa Bbb';
preg_replace_callback_array(
[
'~[a]+~i' => function ($match) {
echo strlen($match[0]), ' matches for "a" found', PHP_EOL;
},
'~[b]+~i' => function ($match) {
echo strlen($match[0]), ' matches for "b" found', PHP_EOL;
}
],
$subject
);
?>
سوف تكون مُخرجات المثال أعلاه كالتالي:
6 matches for "a" found
3 matches for "b" found
انظر أيضًا
- أنماط PCRE.
- الدالة
preg_replace_callback()
: البحث عن تعبير نمطي واستبداله باستخدام دالة معرفة من المستخدم. - الدالة
preg_quote()
: اقتباس حروف التعبير النمطي. - الدالة
preg_replace()
: البحث عن تعبير نمطي واستبداله. - الدالة
preg_last_error()
: إعادة رمز الخطأ الخاص بتنفيذ آخر PCRE regex. - الدوال المجهولة.
- معلومات حول النوع callback.