Cybaer: Link umbrechen

Beitrag lesen

Hi,

Es würde mir genügen wenn nur
ein Teil des Links/Dateinamens (z.B. Formular_Ausnahmegenehmigung)

Ich kürze entweder den Pfad des Dateinames und ersetze den (vermeintlich/hoffentlich) weniger bedeutenden mittleren Teil durch "..." oder breche an vermeintlich "sinnvollen Grenzen" um:

phrasewrap($filename,20,'/') würde z.B. bei jedem "/" weich umbrechen (falls der ein Teil >20 Zeichen), bzw. falls ein Teilstück ohne "/" trotzdem länger ist, wird trotzdem "weich" umbrochen. Der Code für den Umbruch wird ggf. als 3. Parameter übergeben.

  
/* Zwangsweiser Umbruch in einem Satz 050525 */  
function phrasewrap($string,$length=79,$break='-',$div='<wbr>') {  
 // Satz in Woerter zerlegen  
 $words=explode(' ',$string);  
 // Alle Woerter durchgehen  
 for($i=0;$i<count($words);$i++) {  
  // Wenn Wort zu lang ...  
  if(strlen($words[$i])>$length) {  
   // ... und Soll-Bruchstelle im Wort (z.B. Bindestrich) ...  
   if($break && strpos($words[$i],$break)!==FALSE) {  
    // ... Wort an Bruchstelle aufteilen  
    $parts=explode($break,$words[$i]);  
    // Alle Wortteile (rueckwaerts) durchgehen (da Wortteile ggf. laenger werden)  
    for($p=count($parts)-1;$p>=0;$p--) {  
     // Wenn Wortteil zu lang ...  
     if(strlen($parts[$p])>$length) {  
      // ... Wortteil umbrechen  
      $parts[$p]=wordwrap($parts[$p],$length,$div,1);  
     } elseif($p<count($parts)-1) {  
      // Wenn nicht: Umbruch vor dem folgenden Wortteil (hinter der Bruchstelle)  
      $parts[$p+1]=$div.$parts[$p+1];  
     }  
    }  
    // Wort wieder zusammensetzen  
    $words[$i]=implode($break,$parts);  
   } else {  
    // Keine Bruchstelle im Wort, also Zwangsumbruch  
    $words[$i]=wordwrap($words[$i],$length,$div,1);  
   }  
  }  
 }  
 // Woerter wieder zusammenfuegen  
 return implode(' ',$words);  
}  

Gruß, Cybaer

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!