Съкращение на новина

Ev0luti0N

Registered
Имам новина която е повече от 200 символа, а аз искам да я съкратя на до 200 символа, така правя го всичко си е ок, но как да го направя така, че когато я съкращавам 200-тния символ ако е от дума и тя не е доваршена цялата да я доварши и тогава да слага накрая "..." вмомета ми е така:
if(strlen(htmlspecialchars_decode(stripslashes(nl2br($news)))) > 200) {
$new = substr(htmlspecialchars_decode(stripslashes(nl2br($news))), 0,200)."...";
} else {
$new = htmlspecialchars_decode(stripslashes(nl2br($message)));
}
Това като стане 200-та символа ми вади "...", как да стане така, че ако думата не е добаршена цялата да я доварши и тогава да постави "...".

Моята идея е да проверява дали последния символ е " "(интервал) и ако не е да добавши до интервала ако е да доварши до там.
Но си нямам ни малка представа как ще стане :D

Идеи?


Благодаря, поздрави
 
Код:
$news = htmlspecialchars_decode(stripslashes(nl2br($news));
if(strlen($news)) > 200) { 
for($i=200;$i<strlen($news);$i++) {
   if($news[$i]==" ") {
            $new = substr($news, 0,$i-1)."...";
             break;
   }
} 
} else { 
$new = htmlspecialchars_decode(stripslashes(nl2br($message))); 
}
 
Код:
$string = htmlspecialchars_decode(stripslashes(nl2br($news)));
if(strlen($string) > 200) {
$i = 199;
while($string[$i] != " ") {
$i += 1; }
$new = substr($string, 0, $i)."...";
} else {
$new = $string;
}
edit гамена ме изпревари :)
 
gamena007 каза:
Код:
$news = htmlspecialchars_decode(stripslashes(nl2br($news));
if(strlen($news)) > 200) { 
for($i=200;$i<strlen($news);$i++) {
   if($news[$i]==" ") {
            $new = substr($news, 0,$i-1)."...";
             break;
   }
} 
} else { 
$new = htmlspecialchars_decode(stripslashes(nl2br($message))); 
}

Нестава..
 
raiden каза:
Код:
$string = htmlspecialchars_decode(stripslashes(nl2br($news)));
if(strlen($string) > 200) {
$i = 199;
while($string[$i] != " ") {
$i += 1; }
$new = substr($string, 0, $i)."...";
} else {
$new = $string;
}
edit гамена ме изпревари :)

Това стана благодаря :]
 

Back
Горе