/
  • مشکل متد url_title با زبان فارسی

  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی مشکل متد url_title با زبان فارسی
    نویسنده پیام
    pitook آفلاین
    عضو جدید
    **

    ارسال‌ها: 2
    تاریخ عضویت: ۱۳۹۱ آبان ۱۷
    اعتبار: 0
    تشکرها : 2
    ( 1 تشکر در 1 ارسال )
    ارسال: #1
    مشکل متد url_title با زبان فارسی
    سلام
    میدونید که کار این متد url_title اینه که یک رشته رو میگره (مثلا عنوان خبر) و بجای space هاش (اگه داشته باشه)
    دش - میزاره و 3 تا آرگومان داره که .....
    کد PHP:
    $title "What's wrong with CSS?";
     
    $url_title url_title($title);
     
    // Produces:  Whats-wrong-with-CSS 
    مشکل اینجاس که وقتی یک رشته رو فارسی وارد این متد میکنم یه این صورت در میاد
    [تصویر:  35152518890066260398.png]

    لطفا راهنمایی کنید Huh
    (آخرین ویرایش در این ارسال: ۱۳۹۱ آذر ۱۱ ۱۲:۴۸ صبح، توسط pitook.)
    ۱۳۹۱ آذر ۱۱ ۱۲:۱۸ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    masoud1990 آفلاین
    مسعود گودرزی
    ***

    ارسال‌ها: 225
    تاریخ عضویت: ۱۳۸۹ اسفند ۴
    اعتبار: 5
    تشکرها : 379
    ( 200 تشکر در 123 ارسال )
    ارسال: #2
    RE: مشکل متد url_title با زبان فارسی
    ایا Encoding روی utf8 هست؟
    __________________________________________________________________________
    تونل ها مي گويند : راه هست؛ حتي در دل سنگ ها.Wink
    استفاده از دکمه تشکر(Heart) نشان شخصیت شماست;
    درگاه پرداخت 724
    ۱۳۹۱ آذر ۱۱ ۰۲:۰۸ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    pitook آفلاین
    عضو جدید
    **

    ارسال‌ها: 2
    تاریخ عضویت: ۱۳۹۱ آبان ۱۷
    اعتبار: 0
    تشکرها : 2
    ( 1 تشکر در 1 ارسال )
    ارسال: #3
    RE: مشکل متد url_title با زبان فارسی
    (۱۳۹۱ آذر ۱۱ ۰۲:۰۸ صبح)masoud1990 نوشته شده توسط:  ایا Encoding روی utf8 هست؟

    بله UTF-8 است مشکل چیزه دیگه ای بود که حل شد

    برای استفاده کردن از این متد سه تا کار دیگه باید بکنیم

    1.تو فایل
    config.php این خط رو جایگزین کنید
    کد PHP:
    //$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
    $config['permitted_uri_chars'] = 'a-z 0-9~%.+:_\- ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی'

    2.توی فایل url_helper.php که این متد ( url_title ) وجود داره کاراکتر های فارسی رو اضافه کنیم
    کد PHP:
        function url_title($str$separator '-'$lowercase FALSE)
        {
            if (
    $separator == 'dash'
            {
                
    $separator '-';
            }
            else if (
    $separator == 'underscore')
            {
                
    $separator '_';
            }
            
            
    $q_separator preg_quote($separator);            

            
    $trans = array(
                
    '&.+?;'                 => '',
                
    '[^a-z0-9آابپتثجچحخدذرزژسشصضطظعغفقکگلمنوهیيئ‌۱۲۳۴۵۶۷۸۹۰\-\._]'          => ' ',
                
    //اضافه کردن کاراکتر های فارسی به این قسمت
                
    '\s+'                   => $separator,
                
    '('.$q_separator.')+'   => $separator
            
    );

            
    $str strip_tags($str);

            foreach (
    $trans as $key => $val)
            {
                
    $str preg_replace("#".$key."#i"$val$str);
            }

            if (
    $lowercase === TRUE)
            {
                
    $str strtolower($str);
            }

            return 
    trim($str$separator);
        } 

    3.سومین آرگومان این متد ( که برای کوچیک کردن حروف لاتین استفاده میشه strtolower() )که به صورت پیش فرض FALSE است , اگر TRUE کنیم و رشته فارسی بهش بدیم مثل عکس زیر بهمون خروجی میده

    http://upcity.ir/images/35152518890066260398.png

    پس همون FALSE باید تعریف کنیم .
    ۱۳۹۱ آذر ۱۳ ۱۲:۱۹ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : masoud1990
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS