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"!
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"!