/*
* breaks $text into sections with maximum length no bigger than $allowedlength
* and not allowing the number of sections returned to be bigger than $maxsections
* if supplied
*
* Earendur Ancalimon
* 16-11-2006
*/
function sectionalizeLongText
($text,
$allowedlength,
$maxsections =
0)
{
$splitchar =
" ";
$newcomment =
array();
// split $text into array of single 'words'
$text =
split($splitchar,
$text);
// set section counter
$c =
0;
for( $i =
0;
$i <
count($text);
$i++
)
{
// temp store current section and new word
$temp =
$newcomment[$c] .
$text[$i] .
" ";
// check if new word would make section longer than allowed length
if( strlen($temp) >
$allowedlength )
{
// increment counter (next section)
$c++;
if( $maxsections >
0 &&
$c >=
$maxsections )
{
$newcomment[$c-1] =
substr($newcomment[$c-1],
0,
$allowedlength -
3);
$newcomment[$c-1] .=
"...";
return $newcomment;
}
if( $i <
count($text) )
{
// initialize
$newcomment[$c] =
"";
}
}
// add on the next word
$newcomment[$c] .=
$text[$i] .
" ";
}
return $newcomment;
}