آفلاین
user-avatar

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

2 سال پیش
توسط assadiehsan آپدیت شد
آفلاین
user-avatar
تابش ( 3091 تجربه )
2 سال پیش
تخصص : برنامه نویس ارشد وب

سلام
من میخوام کاربر هنگام ورود اگر اعداد فارسی تایپ کرد به انگلیسی داخل دیتابیس ذخیره بشه
داخل مدل 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 که فارسی میمونه!
علتش چیه ؟

بهترین پاسخ انتخاب شده توسط تابش
آفلاین
user-avatar
تابش
2 سال پیش

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

  $eastern = ["۰","۱","۲","۳","۴","۵","۶","۷","۸","۹"];
        $western = ["0","1","2","3","4","5","6","7","8","9"];
آفلاین
user-avatar
علی بیات ( 370008 تجربه )
2 سال پیش
تخصص : توسعه دهنده ارشد وب

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

آفلاین
user-avatar
تابش ( 3091 تجربه )
2 سال پیش
تخصص : برنامه نویس ارشد وب

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

آفلاین
user-avatar
reza zare ( 1389 تجربه )
2 سال پیش
تخصص : برنامه نویس php

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

۱

آفلاین
user-avatar
تابش ( 3091 تجربه )
2 سال پیش
تخصص : برنامه نویس ارشد وب

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

  $eastern = ["۰","۱","۲","۳","۴","۵","۶","۷","۸","۹"];
        $western = ["0","1","2","3","4","5","6","7","8","9"];
آفلاین
user-avatar
assadiehsan ( 9330 تجربه )
2 سال پیش
تخصص : برنامه نویس 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'));
}
برای ارسال پاسخ باید وارد سایت شوید