راکت
حل شده

تبدیل کاراکتر فارسی به en

5 پاسخ

سلام
من میخوام کاربر هنگام ورود اگر اعداد فارسی تایپ کرد به انگلیسی داخل دیتابیس ذخیره بشه
داخل مدل User این کار رو میکنم

    public function setPasswordAttribute($value)
    {
        $this->attributes['password'] = $this->convert($value);
    }
    public function setPhoneAttribute($value)
    {
        $this->attributes['phone'] = $this->convert($value);
    }

    private function convert($string)
    {
        $eastern = ['۰','١','۲','۳','۴','۵','۶','۷','۸','۹'];
        $western = ['0','1','2','3','4','5','6','7','8','9'];

        return str_replace($eastern ,$western , $string);
    }

و همه تبدیل میشوند جز 1 که فارسی میمونه!
علتش چیه ؟

ثبت پرسش جدید

پاسخ‌ها

5
کمال
کمال
@kamalj

تخصص: برنامه نویس ارشد وب

بهترین پاسخ

اینطوری درست شد

  $eastern = ["۰","۱","۲","۳","۴","۵","۶","۷","۸","۹"];
        $western = ["0","1","2","3","4","5","6","7","8","9"];
علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

آرایه eastern رو کامل اعداد فارسی بذارید. من تست کردم کار میکنه

کمال
کمال
@kamalj

تخصص: برنامه نویس ارشد وب

کامل اعداد فارسی گذاشتم
توی اینجا قاطی نشون میده!

شاید پاسخ شما همین‌جا باشد

reza zare
reza zare
@rz.zare

تخصص: برنامه نویس php

برای یک فارسی از این کاراکتر استفاده کن

۱

احسان اسدی
احسان اسدی
@assadiehsan

تخصص: برنامه نویس Back-end

function faTOen($string) {
    return strtr($string, array('۰'=>'0', '۱'=>'1', '۲'=>'2', '۳'=>'3', '۴'=>'4', '۵'=>'5', '۶'=>'6', '۷'=>'7', '۸'=>'8', '۹'=>'9', '٠'=>'0', '١'=>'1', '٢'=>'2', '٣'=>'3', '٤'=>'4', '٥'=>'5', '٦'=>'6', '٧'=>'7', '٨'=>'8', '٩'=>'9'));
}

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام