• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
فیلتر کرردن متغییر(فوری)
#1
برا اینکه یه متغییر رو فیلتر کنی تا اینکه ورودی فقط حروف فارسی , انگلیسی , اعداد و چند مورد جزئی باشن از این کد استفاده میکنمSadاین کد تنها در لوکال کار میکنه)
کد پی‌اچ‌پی:
preg_replace('|[^آ-یa-z0-9 \.\*\+\=\&\%\?\_\-]+|i','',$string); 
خب رو هاست این جواب نمیده و باید کمی توش تغییرات ایجاد بشه به شرخ زیر:
کد پی‌اچ‌پی:
preg_replace('|[^ف-هa-z0-9 آ-ي \چ\ژ\ک\گ\.\*\+\=\&\%\?\_\-]+|i','',$string
خب حالا از اینکه این کار میکنه مشکلی نیست ولی وقتی سیستم اینکد میشه فرمت فایل اینکد شده با زند میره رو ansi و برا همین کد بالا به کل از کار میفتهHuh
راهی هست که با فرمت ansi بازم کار کنه ؟
طراحی و برنامه نویسی صفحات پویا - Iranveb.net
پورتال جدیدترین اخبار داخل و خارج کشور - Iranveb.com
  پاسخ
تشکر شده توسط :
#2
http://ir.php.net/manual/en/function.mb-...eplace.php
  پاسخ
تشکر شده توسط : pesarelor
#3
Big Grin فکرم به همه چیز می رسید جز توابع mb_.

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

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

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


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان