کمال
6 سال پیش توسط کمال مطرح شد
5 پاسخ

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

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


ثبت پرسش جدید
کمال
تخصص : برنامه نویس ارشد وب
@kamalj 6 سال پیش مطرح شد
0

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

  $eastern = ["۰","۱","۲","۳","۴","۵","۶","۷","۸","۹"];
        $western = ["0","1","2","3","4","5","6","7","8","9"];

علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش آپدیت شد
0

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


کمال
تخصص : برنامه نویس ارشد وب
@kamalj 6 سال پیش مطرح شد
0

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


reza zare
تخصص : برنامه نویس php
@rz.zare 6 سال پیش مطرح شد
0

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

۱


کمال
تخصص : برنامه نویس ارشد وب
@kamalj 6 سال پیش مطرح شد
0

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

  $eastern = ["۰","۱","۲","۳","۴","۵","۶","۷","۸","۹"];
        $western = ["0","1","2","3","4","5","6","7","8","9"];

احسان اسدی
تخصص : برنامه نویس Back-end
@assadiehsan 6 سال پیش آپدیت شد
0
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'));
}

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

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