php ile belli bir uzunlukta bir metin kesmek için nasıl?

4 Cevap php

i veritabanından bazı alan değerleri almak ve html bunları sunmak istiyorum.

ama bazıları onlar artık eğer öyleyse ben 30 characthers Diyelim daha eğer doğrayın ve onlardan sonra 3 nokta eklemek istedim div genişliğinden daha uzundur.

windows vs mac os x-> windows vs m...
threads about windows vista -> threads about win...

Bunu nasıl yapabilirsiniz?

4 Cevap

Bir kereden fazla işlevsellik bu tür gerçekleştirmek için gerekiyorsa, bu işlevi göz önünde bulundurun:

function truncate($string, $limit, $break = '.', $pad = '...')
{
    // return with no change if string is shorter than $limit
    if(strlen($string) <= $limit) return $string;

    // is $break present between $limit and the end of the string?
    if(false !== ($breakpoint = strpos($string, $break, $limit)))
    {
        if($breakpoint < strlen($string) - 1)
        {
            $string = substr($string, 0, $breakpoint) . $pad;
        }
    }

    return $string;
}

Kullanımı:

echo truncate($string, 30);

Sözcükleri korumak umurumda görünmemektedir sizin örneklerle bakılırsa, bu yüzden burada:

if (strlen($str) > 30)
{
    echo substr($str, 0, 30) . '...';
}

Çıkış wordwrap(), o aradığınız ne olmalıdır.