• 25-07-2010, 14:51:13
    #1
    merhaba arkadaşlar,
    .tpl dosyası içerisinde şöyle bir kodum var

    <a href="{$relative}/{$videos[i].CHID}--{$videos[i].name}-videos">
    Sorun şöyle ki; $videos[i] değişkeni veritabanından "name" bilgisini çekiyor. Bu "name" girdisi büyük harfli, bunu küçük harf yapmam gerek.

    harfleri küçültmek için elimde şöyle bir fonksiyon var :

       function dosya($ad) { 
            $kod=strtr($ad, "¨~;\\{}[]½_^=?:()!$%'*+,-./#£æ@<>´’&ABCÇDEFGĞHIİJKLMNOÖPRSŞTUÜVYZXWQçıöüşğâ", "-----------------------------------abccdefgghiijklmnooprsstuuvyzxwqciousga"); 
            return  $kod; 
        } 
    
    
    dosya($degisken[ad])
    bu fonksiyonu yukardaki koda nasıl uygulayabiliriz? nasıl denediysem deneyeyim hep hata verdi.
  • 25-07-2010, 14:57:04
    #2
    Üyeliği durduruldu
    Merhabalar,

    Sanırım Smarty kullanıyorsunuz. Şöyle yapabilirsiniz:

    <a href="{$relative}/{$videos[i].CHID}--{$videos[i].name|strtolower}-videos">
    Eğer metin Türkçe karakter var ise, plugins klasöründeki modifier.lower.php dosyasını şöyle değiştiriniz:

    <?php
    /**
     * Smarty plugin
     * @package Smarty
     * @subpackage plugins
     */
    
    
    /**
     * Smarty lower modifier plugin
     *
     * Type:     modifier<br>
     * Name:     lower<br>
     * Purpose:  convert string to lowercase
     * @link http://smarty.php.net/manual/en/language.modifier.lower.php
     *          lower (Smarty online manual)
     * @author   Monte Ohrt <monte at ohrt dot com>
     * @param string
     * @return string
     */
    function smarty_modifier_lower($string)
    {
        return mb_strtolower($string,'UTF-8');
    }
    
    ?>
    Ve:

    <a href="{$relative}/{$videos[i].CHID}--{$videos[i].name|lower}-videos">
    Saygılarımla;
    Samet ARAS.
  • 25-07-2010, 14:57:48
    #3
    Üyeliği durduruldu
    .tpl nin içinde düz php çalışmaz php kodunuz {php} {/php} olarak bir deneyin.
  • 25-07-2010, 15:00:33
    #4
    Üyeliği durduruldu
    tpl içinde php kodu kullanacaksanız smarty kullanmayın bence

    yukarıda arkadaş vermiş değişken sonuna |strtolower ekleyiniz
  • 25-07-2010, 15:18:53
    #5
    Hepinize çok çok teşekkür ederim arkadaşlar,
    SametAras, strtolower işe yaradı, ancak türkçe karakterleri "mb_strtolower" ile düzelmek yavaşlamaya neden olabiliyormuş diye duymuşrum, bu nekadar doğru acaba?
  • 25-07-2010, 15:46:07
    #6
    Üyeliği durduruldu
    Kuralsiz adlı üyeden alıntı: mesajı görüntüle
    Hepinize çok çok teşekkür ederim arkadaşlar,
    SametAras, strtolower işe yaradı, ancak türkçe karakterleri "mb_strtolower" ile düzelmek yavaşlamaya neden olabiliyormuş diye duymuşrum, bu nekadar doğru acaba?
    Vallahi, MB (Çok Baytlı Dizgeler) varsayılan olarak etkin değildir. Meselâ strtolower, bazı karakterleri desteklemez. Lâkin mb_strtolower hepsini destekler, esasen bunun yavaşlamaya yol açacağını sanmıyorum. Ayrıca strtolower'den aldığımız bozuk karakterleri, tekrar düzeltmek içinde bir fonksiyon yazmalıyız. Asıl bu yavaşlamaya yol açabilir.

    Saygılarımla;
    Samet ARAS.