صافی های تعریف شده توسط خودمان
امکان فراخوانی یک تابع کاربرنویس و استفاده از آن به عنوان یک فیلتر وجود دارد. با این کار، تمامی فیلترهای ممکن را می توان پوشش داد.
بعد از تعریف تابع خودمان باید با استفاده از FILTER_CALLBACK که به عنوان پارامتر دوم توابع فیلتر است مشخص کنیم که نوع صافی مصرفی ، تابع تعریف شده توسط خودمان است.
مثال: در مثال زیر٫ همه ی کاراکترهای "_" به خط فاصله تبدیل می شود:
<?php
function convertSpace($string)
{
return str_replace("_", " ", $string);
}
$string = "Peter_is_a_great_guy!";
echo filter_var($string, FILTER_CALLBACK,array("options"=>"convertSpace"));
?>
خروجی کد بالا:
Peter is a great guy!
توضیح مثال:
مثال بالا همه ی کاراکترهای "_" را به خط فاصله تبدیل می کند:
- یک تابع برای جایگزین کردن کاراکتر"_" به خط فاصه ایجاد می کند
- تابع ()filter_var را همراه با فیلتر FILTER_CALLBACK و یک آرایه شامل تابع مان فراخوانی می کند