
بلوک عملکرد PREG_FILTER با استفاده از عبارات منظم جستجو و جایگزینی انجام میدهد.
توجه: این تابع Binary-Safe است. این معنی دارد که کاراکترهای UTF8 نمیتوانند مستقیم پردازش شوند.
به جز اینکه بلوک عملکرد PREG_FILTER فقط در صورت تطابق، رشتههای (شاید تبدیل شده) را برگرداند، با بلوک عملکرد PREG_REPLACE یکسان است.
عبارت به عنوان رشتهای که جستجو میشود. برخی از تغییر دهندههای PCRE نیز در دسترس هستند.
رشته برای جایگزینی. این ممکن است مراجعهایی در شکل \n یا $n داشته باشد، که آخرین مورد ترجیح داده میشود. هر یک از این مراجعها با متن جایگزین میشود که توسط الگوی جستجو n-ام گرفته شدهاست. n میتواند مقدار 0 تا 99 داشته باشد. \0 یا $0 به متن اشاره میکنند که با الگوی جستجو کامل تطابق دارد. برای دریافت شماره الگوی جستجو جزئی گرفته شده، پرانتزهای باز از چپ به راست شروع شده و شمارش میشوند. برای استفاده از یک بک اسلش در جایگزینی، باید دو برابر شود "\\".
اگر شما با یک جایگزینی کار میکنید که پس از مرجع مستقیم یک عدد دیگر میآید (یعنی بعد از تطابق با یک الگوی جستجو باید یک عدد باشد)، نمیتوانید برای مرجع خود از نوشتار \1 استفاده کنید. به عنوان مثال، \11 تابع را در حیرت میاندازد زیرا نمیداند که آیا شما مرجع \1 دنبال شده توسط عدد 1 را میخواهید یا فقط مرجع \11. در این صورت، راه حل استفاده از ${1}1 است. با این کار یک مرجع جدا شده $1 ایجاد میشود و 1 باقی میماند یک نماد حروفی.
اگر از تغییر دهنده قدیمی e استفاده کنید، این تابع برخی از کاراکترها (یعنی ', ", \ و NULL) در رشتههایی که مراجع جایگزینی با آنها جایگزین میشوند را ماسک میکند. این کار انجام میشود تا اطمینان حاصل شود که هیچ خطای سندی ایجاد نمیشود اگر از مراجع جایگزینی استفاده شود که حاوی علامت تک یا دوگانه هستند. مطمئن شوید که شما از سنتکس رشته آگاه هستید تا دقیقاً بدانید چگونه رشته ارزیابی شده به نظر میرسد.
ورودی رشتهای را برای جستجو تعریف میکند.
تعداد حداکثر ممکن جایگزینیها برای هر الگوی جستجو در هر subject. مقدار پیش فرض: -1 یا NULL (بدون محدودیت).
اگر تطابقها (شاید تبدیل شده) یافت شدند، رشته جدید Q برگردانده میشود، در غیر این صورت SUBJECT بدون تغییر برگردانده میشود یا NULL اگر یک خطا رخ داده باشد.
خروجی تعداد جایگزینیهایی که انجام شده را برگرداند.