انجمن ایران پی اچ پی

نسخه کامل: فیلتر کرردن متغییر(فوری)
شما در حال مشاهده نسخه متنی این صفحه می‌باشید. مشاهده نسخه کامل با قالب بندی مناسب.
برا اینکه یه متغییر رو فیلتر کنی تا اینکه ورودی فقط حروف فارسی , انگلیسی , اعداد و چند مورد جزئی باشن از این کد استفاده میکنمSadاین کد تنها در لوکال کار میکنه)
کد PHP:
preg_replace('|[^آ-یa-z0-9 \.\*\+\=\&\%\?\_\-]+|i','',$string); 
خب رو هاست این جواب نمیده و باید کمی توش تغییرات ایجاد بشه به شرخ زیر:
کد PHP:
preg_replace('|[^ف-هa-z0-9 آ-ي \چ\ژ\ک\گ\.\*\+\=\&\%\?\_\-]+|i','',$string
خب حالا از اینکه این کار میکنه مشکلی نیست ولی وقتی سیستم اینکد میشه فرمت فایل اینکد شده با زند میره رو ansi و برا همین کد بالا به کل از کار میفتهHuh
راهی هست که با فرمت ansi بازم کار کنه ؟
Big Grin فکرم به همه چیز می رسید جز توابع mb_.

در مورد توابعی که با mb_ شروع میشن هم یه جایگزین میخواستم بنویسم ولی هیچ جوری نشد چون اگه بخوای کاراکتر ها رو ضرب در 2 کنی اگه انگلیسی هم توش باشه به مشکل بر میخوری(چون انگلیسی ها یه بایتی هستن(قبلا گفته بودید)) ولی اگه همه فارسی باشن درست میشه.

خب من برا این دنبال جایگزین هستم چون رو بعضی از سرور ها اکستش mbstring.dll رو نصب نمیکنن یا کار نمیکنه.برا همین من باید خودم برم دنبال کارای سرور مشتریHuh

اگه جایگزینی داشته باشه دیگه نیازی به این کارا نیست
اینجوری شما باید در مورد رفتارهای utf ‌در‌ عبارات باقاعده جستجو کنید
بهتره‌ این صفحه رو مطالعه کنی
http://www.regular-expressions.info/unicode.html
یه چیز رو هم فراموش نکن نصب کردن کتابخانه های مورد نیاز مشتری روی سرور (در صورتی که به امنیت سرور لطمه‌ای نزنه) وظیفه مدیر سرور هست
لینک مرجع