Bu fonksiyonu r10'dan veya ceviz.net'ten almıştım baya işe yarıyor..
function boldegel($str,$start,$length,$next=TRUE)
{
if($length==0)
return '';
$totalLength=strlen($str);
/* Start olayı */
if ($str{$start} !=' ' AND $start !=0) {
while ($str{$start} !=' ') {
$start++;
} }
/* Bitti */
if($totalLength>$length)
{
// eğer ($start+$length) toplam karakterden sayısından
// daha büyükse $length değişkenini, $start'dan sonraki
// karakter sayısına eşitliyoruz
if($totalLength<($start+$length))
$length=$totalLength-$start;
if($next==TRUE)
{
if($length<0)
{
$length=$totalLength+$length;
if($length<0) // yine de negatifse
return '';
}
else
$length+=$start;
// eğer boşluk karakterine denk gelirse
// bir sonraki boşluğu almaması için "$length-1" yapıyoruz
$length2=strpos($str,' ',$length-1);
if($length2===FALSE) // eğer hiç boşluk yoksa
$length2=$totalLength;
$length2-=$start;
}
else
{
$length2=strrpos(substr($str,$start,$length),' ');
if($length2===FALSE) // eğer hiç boşluk yoksa
$length2=$length;
}
$str=substr($str,$start,$length2);
}
else
$str=substr($str,$start,$length);
return $str;
}kullanımı;
$bol=boldegel($kelime,0,20);