فارسی کردن اعداد در پی اچ پی(php )

این مطلب رو هم توی نت پیدا کردم امیدوارم مفید واقع بشه

بسیاری از سایت های ایرانی اعداد را به صورت انگلیسی نمایش می دهند

شمابا استفاده از تابع FaNum می توانید اعداد انگلیسی را به فارسی تبدیل کنید


کد:
function fanum($englishnumbers)
{
$englishnumbers = str_replace(’0′ , ‘٠’ , $englishnumbers);
$englishnumbers = str_replace(’1′ , ‘١’ , $englishnumbers);
$englishnumbers = str_replace(’2′ , ‘٢’ , $englishnumbers);
$englishnumbers = str_replace(’3′ , ‘٣’ , $englishnumbers);
$englishnumbers = str_replace(’4′ , ‘۴’ , $englishnumbers);
$englishnumbers = str_replace(’5′ , ‘۵’ , $englishnumbers);
$englishnumbers = str_replace(’6′ , ‘۶’ , $englishnumbers);
$englishnumbers = str_replace(’7′ , ‘٧’ , $englishnumbers);
$englishnumbers = str_replace(’8′ , ‘٨’ , $englishnumbers);
$englishnumbers = str_replace(’9′ , ‘٩’ , $englishnumbers);
return $englishnumbers;
}
// use from fanum function like below
echo fanum("123 or any number");
 
آخرین ویرایش توسط مدیر:

homayon574

کاربر عضو
29/6/10
450
0
16
کد خوبیه ولی به شخصه ترجیه میدم همیشه کد ها رو تا حد امکان کوتاه شده بکنم با توجه به تابع معرفی شده شما این کد رو خودم نوشتم :

function fanum($text) {

$en_numbrers = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
$fa_numbrers = array('٠', '١', '٢', '٣', '۴', '۵', '۶', '٧', '٨', '٩');

return str_replace($en_numbrers, $fa_numbrers, $text);
}

echo fanum('123456789');
?>​
کد:
<?php
 
آخرین ویرایش توسط مدیر:

iReza

کاربر عضو
26/8/12
328
0
16
سلام،خیلی ممنون جالب بود.

فکر میکنم این هم لیست شماره های فارسی بدون utf-8 باشه :



 
آخرین ویرایش توسط مدیر:

homayon574

کاربر عضو
29/6/10
450
0
16
سلام،خیلی ممنون جالب بود.فکر میکنم این هم لیست شماره های فارسی بدون utf-8 باشه :


کدهایی که z.3.r.0 گفت درست هستن جز یه مورد که اونم سهوی بودهتو php اعداد نمیتون در اول نام متغیر ها قرار بگیرن

 

iPersianScript

کاربر عضو
10/1/11
455
0
16
37
.

. درود :48: !

. اگر هم دوست نداشتید این یه نمه پردازش رو هم بخاطر نمایش فارسی اعداد به سرور بتحمیلید!! :|:| :

. به راحتی هر چه تمام تر فقط کافی ِ هر جایی که اعداد نمایش داده میشه از فونت دست نویس استفاده کنید! /:)

. بهتر نیست ؟ سبک تر نیست ؟ هست!؟ :39:

. خـوش باشیـد :54:

.

 

iReza

کاربر عضو
26/8/12
328
0
16
.

. درود :48: !

. اگر هم دوست نداشتید این یه نمه پردازش رو هم بخاطر نمایش فارسی اعداد به سرور بتحمیلید!! :|:| :

. به راحتی هر چه تمام تر فقط کافی ِ هر جایی که اعداد نمایش داده میشه از فونت دست نویس استفاده کنید! /:)

. بهتر نیست ؟ سبک تر نیست ؟ هست!؟ :39:

. خـوش باشیـد :54:

.
هلو رفت تو گلو :دی

به نظرم تابعی که همایون قرار داد خیلی خوبه.

همایون جان اون برای این بود که من اعداد رو نشون بدم که بگم کدوم مال کدومه

 

EhsaanDev

کاربر عضو
30/11/11
414
0
16
localhost:8080
به به iPersianScript جون. قربونت برم، کجا بودی؟ فکر کردی نیستی دیگه ما رو تنها گذوشتی الان با Z3RO جون بحثت بود. خب اگه پیشنهاد منو میخواید از کلاس wp-jalali که برای این کار نوشته شده استفاده کنید. خیلی کامل هست. اگه وقت کردم میزارم برای دانلود.

 

homayon574

کاربر عضو
29/6/10
450
0
16
استفاده از فونت فارسی هم فکر بدی نیست خو ولی اول که همه فونت فارسی ندارن دوما که فونت های فارسی لنگه جوراب نیستن هرجا استفاده بشن چون معمولا در حالت نمایش کوچک عین فونت خرچنگ قورباغه میشن که تو افتاب راه میرن ، هم اینکه اگر بخوایم فونتو با سی اس اس بارگزاری کنیم یه حجمی به کاربر برای دانلود تحمیل میشه و هم سرعت لود سایت تاثیر میزاره

دلمان برایت شده بود اندازه یه عدد ریال ipersianscript جان

اصلا سبک پست زدن ipersianscript به من روح میبخشه جون خودم :دی

پ . ن : سرور به ما چه ما از هاست استفاده میکنیم :دی

 

iPersianScript

کاربر عضو
10/1/11
455
0
16
37
.

. درود :48: !

.

به به iPersianScript جون. قربونت برم، کجا بودی؟ فکر کردی نیستی دیگه ما رو تنها گذوشتی الان با Z3RO جون بحثت بود. خب اگه پیشنهاد منو میخواید از کلاس wp-jalali که برای این کار نوشته شده استفاده کنید. خیلی کامل هست. اگه وقت کردم میزارم برای دانلود.
. 9کرتم! :111: امرو بعدظهری به خودم آف دادم اومدم وبگردی! :n4:

.

هلو رفت تو گلو :دیبه نظرم تابعی که همایون قرار داد خیلی خوبه.

همایون جان اون برای این بود که من اعداد رو نشون بدم که بگم کدوم مال کدومه
. چی میگه!؟ :39:

.

استفاده از فونت فارسی هم فکر بدی نیست خو ولی اول که همه فونت فارسی ندارن دوما که فونت های فارسی لنگه جوراب نیستن هرجا استفاده بشن چون معمولا در حالت نمایش کوچک عین فونت خرچنگ قورباغه میشن که تو افتاب راه میرن ، هم اینکه اگر بخوایم فونتو با سی اس اس بارگزاری کنیم یه حجمی به کاربر برای دانلود تحمیل میشه و هم سرعت لود سایت تاثیر میزارهدلمان برایت شده بود اندازه یه عدد ریال ipersianscript جان

اصلا سبک پست زدن ipersianscript به من روح میبخشه جون خودم :دی

پ . ن : سرور به ما چه ما از هاست استفاده میکنیم :دی
. همایون خودتی!؟ یعنی اینارو تو گفتی!؟ :redfadce:

. نگفتم آیفون 5 که! گفتم فونت دست نویس ، با یه جستجو پیدا میشود! هم خودش هم طریقه استفاده اش!

. هر جا که عدد بود با دانش! html و css نویسی! class میدهیم ، font-sizeش! رو هم حداقل 13 یا 14 بزاری کاملاً خوانا میشود!

. تحمیل حجم دانلود !!؟؟ والا من فقط با فرمت otf. فراخوانی می کردم با حجم 50 کیلو بایت!

. و کلا تو فایرفاکس و کروم و اپرا هم مشکلی در نمایش نبود!

. ریال هم که این روزها اندازه ایی نداره!! میگفتی درهم! حالا یه چیزی!! :-s

. راستی یه نمونه بی دردسر ِ جاوااسکریپت هم هست :


کد:
[COLOR=#2f4f4f]<script type="text/javascript" charset="utf-8">[/COLOR]
[COLOR=#2f4f4f]String.prototype.toPersian = String.prototype.toFaDigit = function(a) {[/COLOR]
[COLOR=#2f4f4f]    return this.replace(/\d+/g, function(digit) {[/COLOR]
[COLOR=#2f4f4f]        var digitArr = [], pDigitArr = [];[/COLOR]
[COLOR=#2f4f4f]        for (var i = 0, len = digit.length; i < len; i++) {[/COLOR]
[COLOR=#2f4f4f]            digitArr.push(digit.charCodeAt(i));[/COLOR]
[COLOR=#2f4f4f]        }[/COLOR]
[COLOR=#2f4f4f]        for (var j = 0, leng = digitArr.length; j < leng; j++) {[/COLOR]
[COLOR=#2f4f4f]            pDigitArr.push(String.fromCharCode(digitArr[j]+((!!a && a == true) ? 1584 : 1728)));[/COLOR]
[COLOR=#2f4f4f]        }[/COLOR]
[COLOR=#2f4f4f]        return pDigitArr.join('');[/COLOR]
[COLOR=#2f4f4f]    });[/COLOR]
[COLOR=#2f4f4f]};[/COLOR]
[COLOR=#2f4f4f]window.onload = function() {[/COLOR]
[COLOR=#2f4f4f]    var body = document.getElementsByTagName("span")[0];[/COLOR]
[COLOR=#2f4f4f]    body.innerHTML = body.innerHTML.toPersian();[/COLOR]
[COLOR=#2f4f4f]};[/COLOR]
[COLOR=#2f4f4f]</script>[/COLOR]
[COLOR=#2f4f4f] [/COLOR]
. تو خط زیر به جای span میتونید بنویسید body تا کل اعداد صفحه فارسی نمایش داده بشه یا تگ مربوط به اعدادتون رو بنویسید :


کد:
 var body = document.getElementsByTagName("span")[0];
. خــوش باشیـد :54:

.