Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Перенос слов на странице или в текстовом блоке


Автор: Mal Hack 20.5.2006, 23:46
Функция переноса слов с параметром ширины страницы или текстового блока</font>

Код

function wraptext($text, $wrapmargin) {
 $rettext = ""; 
 $linebuf = ""; 
 $linelen = 0; 
 $tok = split("[ \t]", $text); 
 $numtok = count($tok); 
 for ($i = 0; $i < $numtok; $i++) { 
  $elem = $tok[$i]; 
  $elemlength = strlen($elem) + 1; 
  if ($linelen + $elemlength > $wrapmargin) { 
   $rettext = $rettext . $linebuf . "\n"; 
   $linebuf = ""; 
   $linelen = 0; 
  } 
  $pos = strrpos($elem, "\n"); 
  if ($pos) { 
   $before = substr($elem, 0, $pos); 
   $after = substr($elem, $pos); 
   $rettext = $rettext . $linebuf . " " . $before . "\n"; 
   $linebuf = $after; 
   $linelen = strlen($after); 
  } 
  else { 
   $linebuf = $linebuf . " " . $elem; 
   $linelen = $linelen + $elemlength; 
  } 
 } 
 return $rettext; 
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)