نمایش اعدا فارسی

hassanzanjani13

New Member
سلام دوستان . آیا راهی هست که بتونم تمام اعداد موجود در یک صفحه رو به صورت فارسی در بیارم ؟

مثلا 1 بشه ۱
 

hoceyn

Active Member
find and replace
:green:

دوست عزیز. محل این کارو بگو!!! تو دیتا بیس ؟ فلش ؟ ورد؟ صفحه وب؟ کجا؟؟؟؟؟؟؟؟؟؟
 

hassanzanjani13

New Member
منظورم اینه نمی خوام یه تابع باشه که هر متنی که خواستم چاپ کنم تو اون بزارم . یه چیز کلی باشه که اول صفحه بزارم واسه همه اعمال شه . مثلا یونیکید چیزی
 

hoceyn

Active Member
اعداد فارسی یک سری کد اسکی دارن و اعداد انگلیسی یه سری دیگه . اعداد انگلیسی از کد اسکی 30 تا 39 hexadecimal یا 48تا 57 دهدهی خودمون هستن. و اعداد فارسی از 660 تا 669 hexadecimal یا همون 1632 تا 1741 دهدهی هستن. کافیه شماره تمام اعداد رو بگیری و موقع echo کردن به علاوه حد میانیشون کنی. مثلا کد اسکی 0 رو بگیری و با 1548 جمع ببند میشه عدد فارسی.


PHP:
<?php
$str = //some character;
if (ord($str) >= 48 and ord($str)<=57) {
    echo chr(ord($sr)+1548);
}
?>
 

hoceyn

Active Member
اصلاح شدش برای unicode- utf8 اما از اون جایی که uft8 اعداد فارسی نداره علامت سوال نشون میده::green:

PHP:
<?php
$str = //some character;
if (ord($str) >= 48 && ord($str)<=59) {
    echo chr(ord($str)+168);
}
?>
 

hasanak852

Active Member
این تابع رو خودم نوشتم
هم اعداد رو به کد اسکی تبدیل میکنه هم حروف فارسی رو:
PHP:
<?php
function echofa($word) {
    $num1=array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
    $cod1=array('^0;', '^1;', '^2;', '^3;', '^4;', '^5;', '^6;', '^7;', '^8;', '^9;');
    for($i=0; $i<10; $i++)
    {
        $word=str_replace($num1[$i], $cod1[$i], $word);
    }
    
    $num=array('^0;', '^1;', '^2;', '^3;', '^4;', '^5;', '^6;', '^7;', '^8;', '^9;');
    $cod=array('٠', '١', '٢', '٣', '٤', '٥', '٦', '٧', '٨', '٩');
    for($i=0; $i<10; $i++)
    {
        $word=str_replace($num[$i], $cod[$i], $word);
    }
    
    $wrd=array('آ', 'ا', 'ب', 'پ', 'ت', 'ث', 'ج', 'چ', 'ح', 'خ', 'د', 'ذ', 'ر', 'ز', 'ژ', 'س', 'ش', 'ص', 'ض', 'ط', 'ظ', 'ع', 'غ', 'ف', 'ق', 'ک', 'ك', 'گ', 'ل', 'م', 'ن', 'و', 'ه', 'ی', 'ي', 'ئ');
    $acc=array('آ', 'ا', 'ب', 'پ','ت', 'ث', 'ج', 'چ', 'ح','خ', 'د', 'ذ', 'ر', 'ز','ژ', 'س', 'ش', 'ص', 'ض','ط', 'ظ', 'ع', 'غ', 'ف','ق', 'ک', 'ک', 'گ', 'ل', 'م','ن', 'و', 'ه', 'ی', 'ی', 'ئ');
    for($i=0; $i<36; $i++)
    {
        $word=str_replace($wrd[$i], $acc[$i], $word);
    }

    echo $word;
}
?>
طریقه استفاده:
به جای
PHP:
echo 'سلام';
این جوری بذارید:
PHP:
echofa('سلام');
:shock:البته انجمن یه اشکال داره که به جای کداسکی هایی که تو تابع گذاشتم خود حروف رو نشون میده
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا