نمایش نتایج 1 تا 10 از 10

نام تاپیک: کمک برای preg_replace برای زبان فارسی

  1. #1

    کمک برای preg_replace برای زبان فارسی

    سلام
    من این کد رو استفاده می کنم :
    preg_replace('#[^A-Za-z-0-9]#i','',$_GET['id']);

    این برای زبان انگلیسی خوبه
    اما اگه مقدار دریافتی فارسی باشه دیگه جواب نمیده
    چه کنم ؟
    ممنون

  2. #2

    نقل قول: کمک برای preg_replace برای زبان فارسی

    Regular Expression قابلیت چک کردن کدهای یونیکد رو داره و برای پیدا کردن کاراکترهای فارسی باید از کد یونیکدشون استفاده شه و البته میشه براش بازه هم تعریف کرد. نمونه:
    $str = 'aaaسلامbbbسلامcccسلامddd';
    $a = preg_replace('@[^\x{0600}-\x{06FF}]@u', '-', $str);
    echo $a; // ---سلام---سلام---سلام---

    این بازه که من استفاده کردم Arabic بود. فارسی دقیق توی چند تا بازه است! توی این صفحه میتونید بازه‌ها رو ببینید و بهترین بازه رو استفاده کنید: Unicode Character Ranges

  3. #3

    نقل قول: کمک برای preg_replace برای زبان فارسی

    ممنون
    اما تو این لیست برای زبان فارسی چیزی نبود

  4. #4

    نقل قول: کمک برای preg_replace برای زبان فارسی

    اون Arabic شامل همه‌ی کاراکترهای اون مدلیه یعنی گچ پژ هم توش هست و در واقع فارسی کامل توش هست اما برای این میگم فارسی تو چند تا بازه است چون مثلا تو بعضی بازه‌های دیگه هم حروف فارسی پیدا میشه و تو همون بازه کلی کاراکتر هست که اصلا فارسی نیست و باید از بازه حذف شه ولی در حالت کلی همین بازه‌ای که تو مثال من بود کافیه...
    آخرین ویرایش به وسیله امیـرحسین : چهارشنبه 21 دی 1390 در 13:56 عصر

  5. #5

    نقل قول: کمک برای preg_replace برای زبان فارسی

    میشه همین کد خودتون رو با کد من ترکیب کنید بدید ؟
    preg_replace('#[^A-Za-z-0-9]#i','',$_GET['id']);


    ممنون

  6. #6

    نقل قول: کمک برای preg_replace برای زبان فارسی

    داداش یه کمکی کن
    ممنون

  7. #7

    نقل قول: کمک برای preg_replace برای زبان فارسی

    نقل قول نوشته شده توسط mamali-mohammad مشاهده تاپیک
    داداش یه کمکی کن
    ممنون
    عزیزم امیر حسین بهت لینک مستقیم داده برنامه خودتون هستش . بهتره خودتون هم یه تلاشی بکنید

  8. #8

    نقل قول: کمک برای preg_replace برای زبان فارسی

    من تلاش کردم نتونستم

  9. #9
    کاربر دائمی
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    مشهد
    پست
    215

    نقل قول: کمک برای preg_replace برای زبان فارسی

    سلام
    از این کد استفاده کن من قبلا کلی دنبالش گشتم ولی بلاخره خودم درستش کردم

    ereg_replace("[^_؟?A-Za-z0-9 \ا\ب\پ\ت\ث\ج\چ\ح\خ\د\ذ\ر\ز\ژ\س\ش\  \ض\ط\ظ\ع\غ\ف\ق\ک\گ\ل\م\ن\و\ه\ی\ك\  آ\ي\ئ\_\]", "", $str);


    کد HTML:
    ereg_replace("[^_؟?A-Za-z0-9 \ا\ب\پ\ت\ث\ج\چ\ح\خ\د\ذ\ر\ز\ژ\س\ش\ص\ض\ط\ظ\ع\غ\ف\ق\ک\گ\ل\م\ن\و\ه\ی\ك\آ\ي\ئ\_\]", "", $str);
    اگر بخوای انگلیسی جایگزین بشه از توی تابع حذفشون کن و بر عکس

  10. #10

    نقل قول: کمک برای preg_replace برای زبان فارسی

    دوستان منم فکر کنم مشکلی مشابه همین سوال رو دارم. تابع truncate رو می خوام استفاده کنم اما توی شمارش حروف و کاراکترهای فارسی مشکل داره و درست عدد رو برنمیگردونه. فکر میکنم هر کاراکتر فارسی رو ۳-۴ تا میشماره!!؟ ولی واسه انگلیسی درسته.
    ممنون میشم اگه راهی به ذهنتون میرسه بگین. مد کدنویس نیستم و اطلاعات زیادی از php ندارم.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •