جستجو با الگو (preg_grep)
با «جستجو با الگو (preg_grep)» می توان از یک آرایه فقط موارد «هماهنگ با الگو (Pattern)» را نگه داشت. «عبارت باقاعده (RegExp)» یعنی یک الگوی جست وجوی دقیق. این کار مثل فیلتر کردن برگه های نمره در مدرسه است.
تعریف ساده
تابع preg_grep() از آرایه فقط رشته هایی را برمی گرداند که با الگو هماهنگ باشند. بنابراین، آیتم های نامرتبط حذف می شوند و خروجی یک آرایه تمیز است.
مثال مرحله به مرحله
- یک آرایه رنگ ها آماده کن.
- الگویی بنویس که با حرف p شروع شود.
- تابع را اجرا کن و خروجی را ببین.
- تفاوت را با آرایه اولیه مقایسه کن.
<?php
$input = [
"Red",
"Pink",
"Green",
"Blue",
"Purple"
];
$result = preg_grep("/^p/i", $input);
print_r($result);
?>
نگارش و پارامترها
نگارش: preg_grep(pattern, input, flags). pattern الگوی جست وجو است. input باید آرایه رشته ها باشد. flags هم می تواند PREG_GREP_INVERT باشد تا موارد «نامطابق» برگردند.
نکات کاربردی
- با
PREG_GREP_INVERTفقط نامطابق ها را بگیر. - حروف کوچک و بزرگ را با
/iنادیده بگیر. - الگو را ساده شروع کن و سپس دقیق تر کن.
ارتباط های مفید
برای جایگزینی الگوها از preg_replace استفاده کن. همچنین «فیلتر با الگو» را ببین. اگر مرجع می خواهی، صفحه مرجع عبارات باقاعده کمک می کند. و این همان صفحه «جستجو با الگو» است.
جمع بندی سریع
- فقط آیتم های مطابق برمی گردند.
- آرایه ورودی لازم است.
- با
/iحساسیت حذف می شود. - پرچم
PREG_GREP_INVERTنامطابق ها را می دهد.