تبدیل UTF-8 به ASCII

شروع موضوع توسط sh.n.n786 ‏20 آگوست 2012 در انجمن PHP

  1. sh.n.n786

    sh.n.n786 Registered User

    تاریخ عضویت:
    ‏28 سپتامبر 2011
    نوشته ها:
    447
    تشکر شده:
    88
    محل سکونت:
    <footer>InjaM</footer>
    درود به تمام دوستان این مبدل رو من از روی نیاز نوشتم و خیلی عجله ای هست ... :blush:

    حالا کسی میتونه انو یه جوره دگه بنویسه بدون این همه IF و... اینا ....;)

    ممنون

    PHP:

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <h1 align="center" dir="rtl">UTF-8 به ASCII</h1>
    <?php 
    $OP
    ['SC'] = $_POST['StartCode'];
    $OP['FC'] = $_POST['FinalCode'];

    $CP['FA-ASCII'] = array(
    '&amp#1570;' <= 'آ',
    '&amp#1575;' <= 'ا',
    '&amp#1576;' => 'ب',
    '&amp#1662;' => 'پ',
    '&amp#1578;' => 'ت',
    '&amp#1579;' => 'ث',
    '&amp#1580;' => 'ج',
    '&amp#1670;' => 'چ',
    '&amp#1581;' => 'ح',
    '&amp#1582;' => 'خ',
    '&amp#1583;' => 'د',
    '&amp#1584;' => 'ذ',
    '&amp#1585;' => 'ر',
    '&amp#1586;' => 'ز',
    '&amp#1688;' => 'ژ',
    '&amp#1587;' => 'س',
    '&amp#1588;' => 'ش',
    '&amp#1589;' => 'ص',
    '&amp#1590;' => 'ض',
    '&amp#1591;' => 'ط',
    '&amp#1592;' => 'ظ',
    '&amp#1593;' => 'ع',
    '&amp#1594;' => 'غ',
    '&amp#1601;' => 'ف',
    '&amp#1602;' => 'ق',
    '&amp#1705;' => 'ک',
    '&amp#1711;' => 'گ',
    '&amp#1604;' => 'ل',
    '&amp#1605;' => 'م',
    '&amp#1606;' => 'ن',
    '&amp#1608;' => 'و',
    '&amp#1607;' => 'ه',
    '&amp#1740;' => 'ی',
    '&amp#1574;' => 'ئ',
    '&amp#1632;' => '0',
    '&amp#1633;' => '1',
    '&amp#1634;' => '2',
    '&amp#1635;' => '3',
    '&amp#1636;' => '4',
    '&amp#1637;' => '5',
    '&amp#1638;' => '6',
    '&amp#1639;' => '7',
    '&amp#1640;' => '8',
    '&amp#1641;' => '9',

    );




    //==============================================================================
    $CP['strlen'] = mb_strlen($OP['SC'], 'UTF-8');
    ?>
    <pre dir="rtl">
    <form action="index.php" method="post">
    <textarea name="StartCode" lang="fa" style="width:400px;height:200;"><?php echo $OP['SC']; ?></textarea>
    <input type="submit" value=" تبدیل => <?php echo $CP['strlen']; ?>">
    </form>

    <textarea dir="ltr" name="FinalCode" readonly style="width:400px;height:200;" >
    <?php    
    for($i=0;$i<$CP['strlen'];$i++){
        
        
    $OP['MBSS'] = mb_substr($OP['SC'] , $i 'UTF-8');
     
         while(
    $OP['MBSS']){
             
        if(
    $OP['MBSS'] == 'آ'){echo '&amp#1570;';}
    elseif(
    $OP['MBSS'] == 'ا'){echo '&amp#1575;';}
    elseif(
    $OP['MBSS'] == 'ب'){echo '&amp#1576;';}
    elseif(
    $OP['MBSS'] == 'پ'){echo '&amp#1662;';}
    elseif(
    $OP['MBSS'] == 'ت'){echo '&amp#1578;';}
    elseif(
    $OP['MBSS'] == 'ث'){echo '&amp#1579;';}
    elseif(
    $OP['MBSS'] == 'ج'){echo '&amp#1580;';}
    elseif(
    $OP['MBSS'] == 'چ'){echo '&amp#1670;';}
    elseif(
    $OP['MBSS'] == 'ح'){echo '&amp#1581;';}
    elseif(
    $OP['MBSS'] == 'خ'){echo '&amp#1582;';}
    elseif(
    $OP['MBSS'] == 'د'){echo '&amp#1583;';}
    elseif(
    $OP['MBSS'] == 'ذ'){echo '&amp#1584;';}
    elseif(
    $OP['MBSS'] == 'ر'){echo '&amp#1585;';}
    elseif(
    $OP['MBSS'] == 'ز'){echo '&amp#1586;';}
    elseif(
    $OP['MBSS'] == 'ژ'){echo '&amp#1688;';}
    elseif(
    $OP['MBSS'] == 'س'){echo '&amp#1587;';}
    elseif(
    $OP['MBSS'] == 'ش'){echo '&amp#1588;';}
    elseif(
    $OP['MBSS'] == 'ص'){echo '&amp#1589;';}
    elseif(
    $OP['MBSS'] == 'ض'){echo '&amp#1590;';}
    elseif(
    $OP['MBSS'] == 'ط'){echo '&amp#1591;';}
    elseif(
    $OP['MBSS'] == 'ظ'){echo '&amp#1592;';}
    elseif(
    $OP['MBSS'] == 'ع'){echo '&amp#1593;';}
    elseif(
    $OP['MBSS'] == 'غ'){echo '&amp#1594;';}
    elseif(
    $OP['MBSS'] == 'ف'){echo '&amp#1601;';}
    elseif(
    $OP['MBSS'] == 'ق'){echo '&amp#1602;';}
    elseif(
    $OP['MBSS'] == 'ک'){echo '&amp#1705;';}
    elseif(
    $OP['MBSS'] == 'گ'){echo '&amp#1711;';}
    elseif(
    $OP['MBSS'] == 'ل'){echo '&amp#1604;';}
    elseif(
    $OP['MBSS'] == 'م'){echo '&amp#1605;';}
    elseif(
    $OP['MBSS'] == 'ن'){echo '&amp#1605;';}
    elseif(
    $OP['MBSS'] == 'و'){echo '&amp#1608;';}
    elseif(
    $OP['MBSS'] == 'ه'){echo '&amp#1607;';}
    elseif(
    $OP['MBSS'] == 'ی'){echo '&amp#1740;';}
    elseif(
    $OP['MBSS'] == 'ئ'){echo '&amp#1574;';}
    elseif(
    $OP['MBSS'] == '0'){echo '&amp#1632;';}
    elseif(
    $OP['MBSS'] == '1'){echo '&amp#1633;';}
    elseif(
    $OP['MBSS'] == '2'){echo '&amp#1634;';}
    elseif(
    $OP['MBSS'] == '3'){echo '&amp#1635;';}
    elseif(
    $OP['MBSS'] == '4'){echo '&amp#1636;';}
    elseif(
    $OP['MBSS'] == '5'){echo '&amp#1637;';}
    elseif(
    $OP['MBSS'] == '6'){echo '&amp#1638;';}
    elseif(
    $OP['MBSS'] == '7'){echo '&amp#1639;';}
    elseif(
    $OP['MBSS'] == '8'){echo '&amp#1640;';}
    elseif(
    $OP['MBSS'] == '9'){echo '&amp#1641;';}
    elseif(
    $OP['MBSS'] == ' '){echo '&nbsp;';}
    elseif(
    $OP['MBSS'] == '-'){echo '&ndash;';}
    elseif(
    $OP['MBSS'] == '_'){echo '_';}
    elseif(
    $OP['MBSS'] == ','){echo ',';}
    elseif(
    $OP['MBSS'] == '\''){echo '\'';}
    elseif(
    $OP['MBSS'] == '"') {echo '&quot;';}

             break;
             }

        }
    ?></textarea>
    </pre>


  2. Hasam

    Hasam Registered User

    تاریخ عضویت:
    ‏2 اکتبر 2007
    نوشته ها:
    605
    تشکر شده:
    149
    محل سکونت:
    stater.ir
    سورس رو اینجا نوشتم بعضی کاراکتر ها strip شدن.

    الان آپلود کردم.

    فایل های ضمیمه:

    Last edited: ‏21 آگوست 2012
    sh.n.n786 از این نوشته تشکر کرده است.
  3. webs

    webs Registered User

    تاریخ عضویت:
    ‏14 آپریل 2010
    نوشته ها:
    746
    تشکر شده:
    229
    محل سکونت:
    php.ini
    اگه اینکار عرف بشه که کدهایی که می نویسیم (هرچند ساده) در اختیار عموم قرار بگیره، مطمئناً باعث پیشرفت و ارتقاء سطح وب فارسی خواهد شد.

    با تشکر از sh.n.n786
    sh.n.n786 از این نوشته تشکر کرده است.
  4. sh.n.n786

    sh.n.n786 Registered User

    تاریخ عضویت:
    ‏28 سپتامبر 2011
    نوشته ها:
    447
    تشکر شده:
    88
    محل سکونت:
    <footer>InjaM</footer>
    البته رضا بهترش کرد دمش گرم دست اون درد نکنه ... :wub:
  5. balabala

    balabala Registered User

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,049
    تشکر شده:
    1,178
    محل سکونت:
    یه خورده اونورتر
    چرا از خود توابع php استفاده نمی کنید مثل html_entity_decode

این صفحه را با دیگران به اشتراک بگذارید


بک لینک