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

- 1 سال پیش
توسط assadiehsan آپدیت شد
تابش ( 3061 تجربه )
1 سال پیش
تخصص : برنامه نویس ارشد وب

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

بهترین پاسخ انتخاب شده توسط تابش
تابش
1 سال پیش

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

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

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

تابش ( 3061 تجربه )
1 سال پیش
تخصص : برنامه نویس ارشد وب

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

reza zare ( 1389 تجربه )
1 سال پیش
تخصص : برنامه نویس php

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

۱

تابش ( 3061 تجربه )
1 سال پیش
تخصص : برنامه نویس ارشد وب

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

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