SORU
1 Temmuz 2010, PERŞEMBE


İlk n bir dize karakter olsun

Nasıl PHP bir dize ilk n karakterleri alabilir miyim? Belirli sayıda karakteri için bir dize trim, ve eklemek için en hızlı yolu nedir? '... gerekirse'?

CEVAP
1 Temmuz 2010, PERŞEMBE


//The simple version for 10 Characters from the beginning of the string
$string = substr($string,0,10).'...';

Güncelleme:

Kontrol uzunluğu (ve aynı zamanda kesilmiş ve untrimmed dizeleri benzer uzunlukları sağlamak için öneri dayalı

$string = (strlen($string) > 13) ? substr($string,0,10).'...' : $string;

Max 13 karakterden oluşan bir dize; 13 (veya daha az) normal karakter ya da 10 karakter tarafından izlenen alacak kadar '...'

Güncelleme 2:

Ya da işlev olarak:

function truncate($string, $length, $dots = "...") {
    return (strlen($string) > $length) ? substr($string, 0, $length - strlen($dots)) . $dots : $string;
}

Güncelleme 3:

Bu cevabı yazdığımdan beri uzun zaman oldu ve aslında bu kod artık kullanmıyorum. wordwrap Kullanım fonksiyonu bir sözcük ortasında dize kırma engelleyen bu fonksiyon tercih ederim

function truncate($string,$length=100,$append="…") {
  $string = trim($string);

  if(strlen($string) > $length) {
    $string = wordwrap($string, $length);
    $string = explode("\n", $string, 2);
    $string = $string[0] . $append;
  }

  return $string;
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FRED

    FRED

    1 EKİM 2005
  • knopik96

    knopik96

    7 Mayıs 2011
  • WK

    WK

    9 Ocak 2006