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

mostafa98

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

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

شمابا استفاده از تابع 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

کاربر عضو
کد خوبیه ولی به شخصه ترجیه میدم همیشه کد ها رو تا حد امکان کوتاه شده بکنم با توجه به تابع معرفی شده شما این کد رو خودم نوشتم :

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

کاربر عضو
سلام،خیلی ممنون جالب بود.

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

y9jkb03k36e8jo0ovj5d.png


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

EhsaanDev

کاربر عضو
اینم یه class برای اینکار!



 

homayon574

کاربر عضو
سلام،خیلی ممنون جالب بود.فکر میکنم این هم لیست شماره های فارسی بدون utf-8 باشه :

y9jkb03k36e8jo0ovj5d.png

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

 

iPersianScript

کاربر عضو
.

. درود :48: !

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

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

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

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

.

 

iReza

کاربر عضو
.

. درود :48: !

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

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

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

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

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

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

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

 

EhsaanDev

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

 

homayon574

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

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

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

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

 

iPersianScript

کاربر عضو
.

. درود :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:

.

 
بالا