نمایش نتایج 1 تا 15 از 15

نام تاپیک: ()str_replace

  1. #1

    ()str_replace

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

    function farsi_number($adad)
    {
    $numbers=array(
    0 => '۰',
    1 => '۱',
    2 => '۲',
    3 => '۳',
    4 => '۴',
    5 => '۵',
    6 => '۶',
    7 => '۷',
    8 => '۸',
    9 => '۹'
    );
    $adad = str_replace(array_keys($numbers), array_values($numbers), $adad);
    return $adad;
    }


    (البته اعداد بصورت #1776 و ... هستند)

    آیا روش معمول برای اینکار به این صورته؟ (یعنی جایگزینی)

    مشکل str_replace من چیه که جواب نادرست میده...

    پیشاپیش ممنونم.

  2. #2
    تا جایی که دیدم در صورتیکه متن کنارش فارسی یا عربی باشه (rtl) مشکل حل میشه

    <span dir="rtl">سلام1</span>
    Artists use lies to tell the truth while politicians use them to cover the truth up

  3. #3
    نه حل نمیشه...
    البته به تنظیمات ویندوز هم مربوط میشه...

    این str_replace اینجا دقیقا چه کاری انجام میده ؟ چون به فرض با ورودی 9 جواب صحیح میده ولی با ورودی 7 خیر...

    :flower:

  4. #4
    من الان دارم از همین روش استفاده می کنم و مشکلی ندارم :shock:

    این برای توضیح تابع str_replace
    http://www.php.net/manual/en/function.str-replace.php
    Artists use lies to tell the truth while politicians use them to cover the truth up

  5. #5
    شما اعداد تاریخ بالای ارسالتون رو فارسی میبینید؟ اون هم راست به چپه دیگه...

    ممنون اون قسمت ‏‏manual رو چند بار خوندم ولی چیزی دستگیرم نشده...

  6. #6
    شما اعداد تاریخ بالای ارسالتون رو فارسی میبینید؟
    بله
    سیستم عامل:ویندوز XP

    ممنون اون قسمت ‏‏manual رو چند بار خوندم ولی چیزی دستگیرم نشده...
    آرگومان اول چیزیه که الان هست و می خوای در یک جمله دنبالش بگردی و عوضش کنی
    آرگومان دوم: چیزی که باید جایگزین آرگومان اول بشه
    آرگومان سوم: رشته ای که باید برای آرگومان اول جستجو بشه تا آرگومان دوم جایگزین شود.
    Artists use lies to tell the truth while politicians use them to cover the truth up

  7. #7
    :o منم xp دارم ولی انگلیسی نمایش داده میشه... گمون کنم به تنظیمات Standars and Formats در Regional and lanquage options مربوط بشه !

    منظورم این بود که به اشتباه خودم پی نبردم...
    مشکل از محل آرگیومنت ها نیست...


    chr(48) => '&# 1776;',
    chr(49) => '&# 1777;',
    chr(50) => '&# 1778;',
    chr(51) => '&# 1779;',
    chr(52) => '&# 1780;',
    chr(53) => '&# 1781;',
    chr(54) => '&# 1782;',
    chr(55) => '&# 1783;',
    chr(56) => '&# 1784;',
    chr(57) => '&# 1785;'


    به فرض برای ورودی 7 مقدار &# 17&# 1784;3 را باز میگردونه؟!
    مشخصه که بیش از یک بار جایگزینی صورت گرفته...

    به هر حال از توجه شما ممنونم :flower:

  8. #8
    من در یک td این مشکل را داشتم dir=rtl رو بهش اضافه کردم و مشکل حل شد.اول این رو امتحان کن.
    Artists use lies to tell the truth while politicians use them to cover the truth up

  9. #9
    . آواتار oxygenws
    تاریخ عضویت
    دی 1382
    محل زندگی
    تهران/مشهد
    پست
    6,333
    با مرورگر های دیگه مثل موزیلا هم تست کنید.
    ایمیل من
    سایت من

    عضویت در جامعه‌ی اهدای عضو

    Direct PGP key: http://tinyurl.com/66q5cy
    PGP key server: keyserver.ubuntu.com
    PGP name to search: omidmottaghi

  10. #10
    از فایرفاکس استفاده میکنم...

    جدا شما همه این اعداد رو فارسی میبینید؟
    عضو شده در: 27 دی 1382
    پست: 1216

  11. #11
    . آواتار oxygenws
    تاریخ عضویت
    دی 1382
    محل زندگی
    تهران/مشهد
    پست
    6,333
    نه، من هم انگلیسی می بینم ولی فکر کنم شما این عدد ۱۲۳۴۵ رو فارسی ببینید، نه؟؟
    ایمیل من
    سایت من

    عضویت در جامعه‌ی اهدای عضو

    Direct PGP key: http://tinyurl.com/66q5cy
    PGP key server: keyserver.ubuntu.com
    PGP name to search: omidmottaghi

  12. #12
    اینجا رو ببین : (برای مشاهده تفاوت بین محل قرارگیری اعداد فارسی و انگلیسی)

    http://www.iranasp.net/Articles/Show...x?articleid=68

  13. #13
    نقل قول نوشته شده توسط oxygenws
    نه، من هم انگلیسی می بینم ولی فکر کنم شما این عدد ۱۲۳۴۵ رو فارسی ببینید، نه؟؟
    بله، فارسی می بینم...
    خوب چطور میشه 2 رو با ;1778 &# جایگزین کرد؟

    نقل قول نوشته شده توسط spoodef
    اینجا رو ببین : (برای مشاهده تفاوت بین محل قرارگیری اعداد فارسی و انگلیسی)

    http://www.iranasp.net/Articles/Show...x?articleid=68
    ممنونم... ولی این برنامه شون رو من اجرا کردم (در وی بی) فقط ؟؟ چاپ میکرد... این تابع عدد انگلیسی رو با 1728 جمع میکنه و مقدارش رو نشون میده... تو php این توابع چی هستن؟ ord- chr ؟؟

  14. #14
    . آواتار oxygenws
    تاریخ عضویت
    دی 1382
    محل زندگی
    تهران/مشهد
    پست
    6,333
    این صفحه رو ببین:
    http://www.php.net/manual/en/ref.strings.php

    تابع ord و chr رو پیدا کن :)

    موفق باشی
    ایمیل من
    سایت من

    عضویت در جامعه‌ی اهدای عضو

    Direct PGP key: http://tinyurl.com/66q5cy
    PGP key server: keyserver.ubuntu.com
    PGP name to search: omidmottaghi

  15. #15
    ممنونم...
    فعلا اینطوری حلش کردم!! :mrgreen:

    $farsi_number = '&#'.(1776 + $eng_number).';';


    تا ببینم با ابن توابع چه میشه کرد... :)
    موفق باشی... :flower:

تاپیک های مشابه

  1. ereg_replace یا eregi_replace یا str_replace ؟
    نوشته شده توسط I,Nobody در بخش PHP
    پاسخ: 1
    آخرین پست: سه شنبه 01 اسفند 1385, 11:14 صبح
  2. str_replace , ereg_replace برای "n\" و "r\" و " "
    نوشته شده توسط sweb در بخش PHP
    پاسخ: 1
    آخرین پست: یک شنبه 29 بهمن 1385, 16:30 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •