راکت
کمال
کمال
توسط کمال مطرح شد
حل
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 که فارسی میمونه!
علتش چیه ؟


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

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

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

علی بیات
علی بیات
تخصص :توسعه دهنده ارشد وب
@ali.bayat8 سال پیشمطرح شد
0

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


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

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


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

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

۱


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

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

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

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

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

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