- substr: documentation ( source)
<?php
$str = "this is a long string";
$length = strlen($str);
$dir = -1;
$delta = $length;
$maxlength = 12;
while($delta){
$delta = $delta / 2;
$length = $length + $dir * $delta;
if($dir * (strlen(substr($str, 0, $length)) - $maxlength) > 0) $dir = -$dir;
echo substr($str, 0, $length). "\n";
}
?>