سلام
برای تبدیل به انگلیسیِ فیلدهای عددی که کاربر به فارسی و عربی وارد میکنه، آیا بهتره از جاوااسکریپت استفاده بشه و یا داخل کنترلر این تغییر انجام بشه؟ البته تغییر حروف عربی به فارسی هم عملا لازمه اضافه بشه. برای نمایش اعداد به فارسی، الان از کد جیکوئری زیر استفاده میکنم. اگر بخوام اعداد عربی را هم شامل بشه باید چه تغییری بهش بدم؟
var farsiNumbers = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];
$('.persian_digit').text(function(i, v) {
var chars = v.split('');
for (var i = 0; i < chars.length; i++) {
if (/\d/.test(chars[i])) {
chars[i] = farsiNumbers[chars[i]];
}
}
return chars.join('');
})
سلام. اینجا یه کاراکتر مپ آنلاین هست آخرش رو ببینین، بعد میتونین کپیشون کنین:
https://www.online-toolz.com/tools/character-map.php
سلام
اگر می خواهید اعداد فارسی رو به انگلیسی تبدیل کنید از کلاس زیر استفاده کنید. بهتره داخل کنترلر انجام بشه.
protected function converter($string)
{
$persinaDigits1= array('۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹');
$persinaDigits2= array('٩', '٨', '٧', '٦', '٥', '٤', '٣', '٢', '١', '٠');
$allPersianDigits=array_merge($persinaDigits1, $persinaDigits2);
$replaces = array('0','1','2','3','4','5','6','7','8','9','0','1','2','3','4','5','6','7','8','9');
return str_replace($allPersianDigits, $replaces , $string);
}
می تونید این کلاس رو فراخوانی کنید. دقت کنید اگر می خواهید اعداد رو به int تبدیل کنید از تابع intval() استفاده کنید.
@arashzakeri
من خودم برای تبدیل فارسی به انگلیسی و برعکس از این تابع استفاده میکنم
public function convertNumbers($string, $toPersian = false)
{
$en_num = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
$fa_num = array('۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹');
if ($toPersian) return str_replace($en_num, $fa_num, $string);
else return str_replace($fa_num, $en_num, $string);
}
نحوه استفاده برای انگلیسی به فارسی:
$this->convertNumbers($item->date,true)
برای تبدیل فارسی به انگلیسی:
$this->convertNumbers($item->date)
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟