Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

php ile yazı kısaltma

merhaba arkadaşlar, sorunum şöyle;

function yeni_baslik()
{
 $title = get_the_title();
 $limit = "35";
 $pad="...";
 if(strlen($title) <= $limit)
 {
 echo $title;
 }
 else
 {
 $title = substr($title, 0, $limit) . $pad;
 echo $title;
 }
}


şöyle bir kodum var. kodun özelliği şöyle;

eğer yazdığım yazı 35 karakteri geçerse ... nokta getiriyor.

buraya kadar sorun yok. fakat eğer ... dan'ın önüne türkçe karakter, vb simgeler (ö,ş,ç,')

gelirse, bu karakterleri değişik biçimde gösteriyor.

yani; Holmes'a... --- gözüken hali = Holmes&#...

yani; gö... --- gözüken hali = g?...

bu sorunumu nasıl aşabilirim? yardımlarınızı bekliyorum, şimdiden herkese Teşekkür Ederim.
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • zyber adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    57 cevap - 25 soru
    Sayfanın utf-8 olacağını düşünerek yazıyorum. Değilse sayfa karakter setinin utf-8 yazan kısım ile değiştirirsin.


    function yeni_baslik()
    {
     $title = get_the_title();
     $limit = "35";
     $pad="...";
     if(strlen($title) <= $limit)
     {
     echo $title;
     }
     else
     {
     $title = mb_substr($title, 0, $limit, 'UTF-8') . $pad;
     echo $title;
     }
    }
    
    • olcay adlı üyenin fotoğrafı olcay
      teşekkür ederim hocam, oldu çok sağol
      9 yıl önce yazılmış
    • zyber adlı üyenin fotoğrafı zyber
      Diğer arkadaşın kodu sizinkinden daha fonksiyoneldir. Onu kullanmanızı öneririm. Çünkü onda işlem sayısı daha az....
      9 yıl önce yazılmış

Cevaplar

  • uralozden adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    70 cevap - 0 soru
    function truncate($text, $limit = 25, $ending = '...') {
    
    	$text = strip_tags($text);
    	
    	if (strlen($text) > $limit) {
    		$text = substr($text, 0, $limit);
    		$text = substr($text, 0, -(strlen(strrchr($text, ' '))));
    		$text = $text . $ending;
    	}
    	
    	return $text;
    }
    


    bu fonksyionu kullanarak, tablon utf-8 olursa herhangi bir sorun yaşamazsın
    • olcay adlı üyenin fotoğrafı olcay
      sizede teşekkür ederim.
      9 yıl önce yazılmış
    • uralozden adlı üyenin fotoğrafı uralozden
      ne demek yardımcı olabildiysek
      9 yıl önce yazılmış
    • olcay adlı üyenin fotoğrafı olcay
      hocam yukarıdaki arkadaş sizin kodunuzu önermiş ama kullandım çalıştırmadı?
      9 yıl önce yazılmış
    • zyber adlı üyenin fotoğrafı zyber
      Aşağıdaki şekilde denedim çalışıyor...

      <?php
      function truncate($text, $limit = 25, $ending = '...') {
      
      	$text = strip_tags($text);
      	
      	if (strlen($text) > $limit) {
      		$text = substr($text, 0, $limit);
      		$text = substr($text, 0, -(strlen(strrchr($text, ' '))));
      		$text = $text . $ending;
      	}
      	
      	return $text;
      }
      
       $metin = "Afyonkarahisarda büyük gürültüye neden olan patlama nedeniyle olay yerine çok sayıda ambulans ve itfaiye sevk edildi. Patlamanın meydana geldiği askeri alana giriş çıkışlar durduruldu. Bölgede geniş güvenlik önlemleri alınırken, el bombalarının patlamaya devam ettiği kaydedildi. Alana sadece ambulansların giriş çıkışına izin verildi.Afyonkarahisar Valisi İrfan Balkanlıoğlu, Belediye Başkanı Ak Partili Burhanettin Çoban ve askeri yetkililer bölgeye gelerek incelemelerde bulundu.Başkan Çoban, Bölgede iki patlama meydana geldi.";
      
       echo truncate($metin, 105);
       
       ?>
      
      9 yıl önce yazılmış
    • uralozden adlı üyenin fotoğrafı uralozden
      problemsiz çalşması lazım zaten standart bir fonksiyon
      9 yıl önce yazılmış
    • olcay adlı üyenin fotoğrafı olcay
      gösterirkende
      <?php yeni_baslik(); ?>
      
      olarak göstericeğim değil mi?

      birde
      $metin
      
      değeri yazısı neyi ifade ediyor anlamadım.

      biraz acemiyimde mazur görün.
      9 yıl önce yazılmış
    • zyber adlı üyenin fotoğrafı zyber
      function yeni_baslik()
      {
      $title = get_the_title();
      $limit = "35";
      $pad="...";
      	$text = strip_tags($title);
      	
      	if (strlen($title) > $limit) {
      		$title = substr($title, 0, $limit);
      		$title = substr($title, 0, -(strlen(strrchr($title, ' '))));
      		$title = $title . $pad;
      	}
      	
      	echo $title;
      }
      
      9 yıl önce yazılmış 9 yıl önce güncellenmiş
  • hopdedik adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    2 cevap - 4 soru
    Arkadaslar Herkese Merhaba

    Asagidaki kodu nasil degistirmeliyimki sitede ürün basligi maxsmum 15 harfden olussun?

    Kod Bu:

    <a href="<?=process_link('auction_details', array('name' => $item_details['name'], 'auction_id' => $item_details['auction_id']));?>"><?=title_resize($item_details['name']);?></a>


    Yardimlariniz icin simdiden tesekkür ederim

    NOT:

    Asagidaki gibi düzenleme yaptim olmadi.. yanlisim nerede bir bilen varsa yazsin lütfen

    <a href="<?=process_link('auction_details', array('name' => $item_details['name'], 'auction_id' => $item_details['auction_id']));?>"><?=title_resize($item_details['name'],0,15)."...";?></a>