الدالة preg_filter()‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في PHP

من موسوعة حسوب
< PHP
مراجعة 13:31، 18 أبريل 2018 بواسطة Khaled-yassin (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الدالة <code>preg_filter()‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎</code>‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)


(PHP 5 >= 5.3.0, PHP 7)

تبحث الدالة preg_filter()‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ عن تعبير نمطي وتستبدله.

الوصف

mixed preg_filter ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

تشبه الدالة preg_filter()‎‎ الدالة preg_replace()‎‎ باستثناء أنها تعيد فقط السلاسل النصية (التي يمكن تحويلها) إذا كانت مطابقة. لمزيد من التفاصيل حول كيفية عمل هذه الدالة، اقرأ توثيق preg_replace()‎‎.

القيم المعادة

تُعيد هذه الدالة مصفوفة إذا كان المعامل subject عبارة عن مصفوفة، أو سلسلة نصية إذا كان خلاف ذلك.

إذا لم يُعثر على مطابقات أو حدث خطأ، تُعيد هذه الدالة مصفوفة فارغة عندما يكون subject عبارة عن مصفوفة أو NULL إذا كان خلاف ذلك.

أمثلة

المثال 1: مثال على مقارنة الدالة preg_filter()‎‎ مع الدالة preg_replace()‎‎

<?php
$subject = array('1', 'a', '2', 'b', '3', 'A', 'B', '4'); 
$pattern = array('/\d/', '/[a-z]/', '/[1a]/'); 
$replace = array('A:$0', 'B:$0', 'C:$0'); 

echo "preg_filter returns\n";
print_r(preg_filter($pattern, $replace, $subject)); 

echo "preg_replace returns\n";
print_r(preg_replace($pattern, $replace, $subject)); 
?>

سوف تكون مُخرجات المثال أعلاه كالتالي:

preg_filter returns
Array
(
    [0] => A:C:1
    [1] => B:C:a
    [2] => A:2
    [3] => B:b
    [4] => A:3
    [7] => A:4
)
preg_replace returns
Array
(
    [0] => A:C:1
    [1] => B:C:a
    [2] => A:2
    [3] => B:b
    [4] => A:3
    [5] => A
    [6] => B
    [7] => A:4
)

انظر أيضًا

مصادر