Съкращаване на израз по брой символи

magnuma84

Registered
Здравейте, понеже неможах да намеря подобен урок, но знам, че има ако може някой да ме насочи. Трябва ми скрипта, който извежда определен брой символи от даден израз и накрая да завършва с ...
 
Код:
<?
function short_text($text,$length){
$maxTextLenght=$length;
  $aspace=" ";
  if(strlen($text) > $maxTextLenght ) {
     $text = substr(trim($text),0,$maxTextLenght);
     $text = substr($text,0,strlen($text)-strpos(strrev($text),$aspace));
    $text = $text.'...';
  }
return $text;
}
?>

Код:
// Promenliwata $our_text sudurja washija text
echo short_text($our_text,200);
 
добре де това е с функция, но аз искам да не е с функция.
примерно с това:
Код:
echo("".$row['sadarjanie']."");

си извеждам този текст. Как да направя да ми извежда само 200 символа примерно и след като стигне до 200-тия символ да слага "..." накрая, но да не е с функция. Помня, че имаше тука някакви уроци без функция, но немога да ги намеря.
 
Код:
<?
function short_text($text,$length){
$maxTextLenght=$length;
  $aspace=" ";
  if(strlen($text) > $maxTextLenght ) {
     $text = substr(trim($text),0,$maxTextLenght);
     $text = substr($text,0,strlen($text)-strpos(strrev($text),$aspace));
    $text = $text.'...';
  }
return $text;
}


echo short_text($row['sadarjanie'],200);
?>
ето и кво като е с функция ?
 
благодаря. направих го и се получи с функция :D
но ще дам точка на sorRy понеже неговия код е по-пълен.
 
това което ти дадох е кода на tahys просто ти бях сложил променливата с текста на мястото трябваше на него да дадеш
 
Нещо обаче функцията не работи коректно ако подадем текст на български с кодировка UTF8. Ето какво се получава:

$text = "бла бла аааа добре"; /дължина 18 символа/

$new_text = short_text($text, 10);
Би трябвало да покаже бла бла ... нали? Обаче то показва бла ...

var_dump($text) //33
var_dump($new_text) //10

Някакви идеи как да работи коректно с текст на кирилица при UTF8?
 

Back
Горе