EisFuX: String mit Auslassung kürzen

Beitrag lesen

(Hallo|Hi(ho)|Tag) klaus,

ich bin auf der suche nach einer string cutter funktion, die mir lange urls in meinen forumthreads/kommentaren/usw. verkürzt.
...
aus www.loool.de/rofl/dngng/index/home/jsdgn/js/moin/jdng.htm?jdng&njsdng=nsdgn
soll www.loool.de/...jsdng=nsdgn gemacht werden.

hat dafür schon jemand eine fertige funktion ?

Meinst du sowas?

  
function shorten_string(  
  $string = EMPTY_STRING,  
  $max_len = 60, /// max_length  
  $ellipse = '[...]' /// das/die Auslassungszeichen  
) {  
  $len_string = strlen($string);  
  
  if ($len_string <= $max_len) return $string;  
  
  $len_ellip = strlen($ellipse);  
  
  $len_head = ($max_len - $len_ellip) >> 1; // string part before ellipse part  
  $len_tail = $max_len - $len_ellip - $len_head; // string part after ellipse part  
  
  return $string = substr($string, 0, $len_head) . $ellipse . substr($string, $len_string - $len_tail);  
}  

Dabei ist $max_len die maximale Länge, die der Gesamt-String haben darf. Die restlichen Längen berechnet die Funktion alleine.

MffG
EisFuX