Функция preg_filter
Функция preg_filter жолда немесе жолдар массивінде регулярлы өрнек бойынша іздеу және ауыстыруды орындайды. preg_replace-тен айырмашылығы, ол тек сәйкес кескен элементтерді қайтарады. Бірінші параметр ретінде регулярлы өрнекті, екінші параметр ретінде ауыстыру жолын, үшінші параметр ретінде өңделетін жолды немесе массивті қабылдайды.
Төртінші міндетті емес параметрде әр элементтегі ауыстырулардың ең көп санын белгілеуге болады (әдепкі бойынша -1, бұл "шектеусіз" дегенді білдіреді).
Бесінші міндетті емес параметрде орындалған ауыстырулар саны жазылатын айнымалы көрсетіледі.
Синтаксис
preg_filter(pattern, replacement, subject, [limit = -1], [count]);
Мысал
Жолдағы барлық сандарды 'X' таңбасына ауыстырайық:
<?php
$res = preg_filter('/\d/', 'X', 'a1b2c3');
var_dump($res);
?>
Код орындау нәтижесі:
'aXbXcX'
Мысал
Сандарды '#'-ке ауыстырып, жолдар массивін өңдейік:
<?php
$res = preg_filter('/\d/', '#', ['a1', 'b2', 'c', 'd4']);
var_dump($res);
?>
Код орындау нәтижесі:
['a#', 'b#', 'd#']
Мысал
preg_replace-тен айырмашылығын көрсетейік:
<?php
$input = ['a1', 'b2', 'c', 'd4'];
$res_filter = preg_filter('/\d/', '#', $input);
$res_replace = preg_replace('/\d/', '#', $input);
echo "Filter result: ";
var_dump($res_filter);
echo "Replace result: ";
var_dump($res_replace);
?>
Код орындау нәтижесі:
Filter result: ['a#', 'b#', 'd#']
Replace result: ['a#', 'b#', 'c', 'd#']
Сондай-ақ қараңыз
-
функцию
preg_replace,
которая регулярлы өрнек бойынша ауыстыруды орындайды -
функцию
preg_match,
которая регулярлы өрнекке сәйкестікті тексеріп, байқау жасайды