WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

HTML, XHTML, CSS , style, XML, Javascript und mehr, Fragen, Tipps und Anregungen zu diesen Basic Techniken - hier rein !


Forum » HTML, CSS - Hilfe für das Erstellen einer Homepage » Zeilenumbruch in Tabelle erzwingen » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von CHX3
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23:
  function text_restrict_wordsize($str, $size, $fontsize = 7, $fontfile = 'verdana.ttf') {
	$size = max($size, 10);
	$fontpath = $_SERVER['DOCUMENT_ROOT'] . '/source/fonts/' . $fontfile;
	
	$strings = explode(' ', $str);

	foreach ($strings as $key => $string ) {
  		$dimensions = imagettfbbox($fontsize, 0, $fontpath, $string);
	  	$width = $dimensions[4]-$dimensions[6];
	  	
	  	if ($width > $size) { 			  	
		  	while ($width > $size) {
		  		$string = substr($string, 0, strlen($string)-1);
	  			$dimensions = imagettfbbox($fontsize, 0, $fontpath, $string . '-');
		  		$width = $dimensions[4]-$dimensions[6];
		  	}
			
		  	$strings[$key] = $string . '- ' . text_restrict_wordsize(substr($strings[$key], strlen($string), strlen($strings[$key]) - strlen($string) - 1), $size, $fontsize, $fontfile);
	  	}
	}
		
	return implode(' ', $strings);	  	
  }


Mit PHP kann man das so lösen. Diese Funktion erkennt zu lange Wörter (in Pixeln!) und trennt diese mit einem Bindestrich ab. Hab ich für meine Homepage geproggt.
Achtung: Diese Funktion benötigt die Angabe der Schriftart und Schriftgröße, da aber die meisten Server keine Schriftarten bieten, muss man diese selbst auf den Server kopieren. Deshalb steht am Anfang der Funktion $fontfile = 'verdana.ttf', da ich bei meiner Homepage diese Schriftart verwende. Und In der Zeile $fontpath = $_SERVER['DOCUMENT_ROOT'] . '/source/fonts/' . $fontfile; musst du noch
'/source/fonts/' durch den Pfad ersetzen, in dem du deine Fonts auf dem Server speicherst.
von HoRnominatoR
und dann auch noch eine, die es offiziel nicht gibt und nur von 30% der grossen browser unterstuetzt wird - und das ist zu allem uebel auch noch der IE.
von Tobi W.
ENDLICH! Nach 2,5 Jahren haben wir einen Lösung für das Problem gefunden. Danke
von CHX3
1: 
2: 
3: 
4: 
5: 
6: 
7:
<table style="width:50px;">
	<tr>
		<td style="word-break:break-all;word-wrap:break-word">
			Schrecklichlangeswortdasmannichtrennenkannoderwasmeintihr?
		</td>
	</tr>
</table>


Das dürfte ohne Bindestrich und Silbenerkennung zumindest zu lange Wörter trennen.
von HG
Ich glaube, daß es mit php einfacher ist, das zu trennen. Bei einer HTML / Javascript-Lösung hast du das Problem, daß vieles sehr speziell gelöst werden müsste. So könntest du z.B. einen Bereich mit einer festen Breite definieren, und alles, was drüber rausfließen würde wird dann nur per Scrollbar verfügbar.

Du könntest natürlich auch mit Javascript durch alle angezeigten Buchstaben gehen, und nach 60 Zeichen hintereinander ein Leerzeichen einfügen. Aber ich glaube, daß der Aufwand zu groß wäre. Mittels einer einfachen HTML-Eigenschaft geht das nicht. Bestenfalls in Textfeldern. Aber da hast du wieder das Problem, daß du dann keine Links oder Formatierungen in den Text einfügen kannst...

Mit php ist es daher einfacher, vor allem, wenn der Inhalt aus einer DB oder einer Datei kommt. Würd ich mal sagen.


Nach oben