kostenloser Webspace werbefrei: lima-city


Verhindern: Viele Buchstaben ohne Abstand zerstören Layout

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    sincer

    Kostenloser Webspace von sincer

    sincer hat kostenlosen Webspace.

    ho ;)

    //EDIT: Sry - wenn der Thread ins "PHP & MySQL" Forum gehört, bitte ich darum, diesen zu verschieben.

    Ich habe von einem Bekanten den Code für ein Gästebuch bekommen und bin dabei einige Fehler auszubessern, bzw. das GB an meine Bedürfnisse anzupassen.
    Bis jetzt war ich dabei (trotz meiner ungeheuer miesen PHP Kenntnisse :D ) recht erfolgreich ;) (Vor allem, weil es euch gibt - thx :) )

    Ein Problem (Ich hoffe, es ist das letzte :P ) konnte ich bis jetzt nicht alleine beheben:
    Mein Gästebuch ist in einem Div, das 300px breit ist.
    Wenn ich jetzt einen Eintrag mache, der Buchstaben ohne Abstand enthält, so zerstört mir das mein Layout.
    zB: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    (Die a's sind breiter als 300px, was zur Folge hat, dass die Buchstaben einfach über die Grenze des GBs hinausgehen. Das verbreitert die Seite und sieht nicht gerade hübsch aus...)

    Wie kann ich das verhindern?
    (Bitte keine JavaScript Lösungen XD - und Overflow:hidden; will ich auch nicht ^^)

    thx im voraus
    Sincer

    Beitrag zuletzt geändert: 20.1.2009 21:48:46 von sincer
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Einmal hier gucken ;)
    gibt glaube ich viele verschiedene Lösungsansätze. Ich glaube diese ist nicht schlecht:

    http://www.php.net/manual/de/
    http://www.php.net/manual/de/function.wordwrap.php
    http://www.php.net/manual/de/function.nl2br.php
  4. Ich würde es anders machen...

    Da du wahrscheinlich mit einer Schriftart arbeiten wirst, wo die Zeichen unterschiedlich breit sind wird die bereits vorgeschlagene Lösung sehr komisch aussehen.
    Beispiel mit Umbruch nach 6 Zeichen:
    Hallo,
    ich bi
    n ein
    sehr k
    urzer
    text.


    Stattdessen würde ich den auszugebenden Text mit explode anhand der Leerzeichen trennen, den zurückgegebenen Array dann durchgehen und bei jedem Wert im Array schauen wie lang er ist. Wenn dieser länger als XX Zeichen ist fügst du einfach ein ­ nach der gewünschten Länge ein (evtl. geht ­ nicht und du musst ein Leerzeichen stattdessen nehmen). Wenn der String ein vielfaches von der maximalen Länge lang ist, musst du natürlich entsprechend oft dieses Zeichen einfügen.
    In Pseudocode (einige Funktionen haben andere Namen oder eine andere Syntax):
    intMaximaleLaenge=50;
    strFertig="";
    arrAusgabe = explode(" ", strAusgabe);
    foreach arrAusgabe as strValue {
    	if (länge(strValue)>intMaximaleLaenge) {
    		for i=1 bis i=länge(strValue mod intMaximaleLaenge) {
    			strFertig.=substr((i-1)*intMaximaleLaenge,i*intMaximaleLaenge,strValue)."­";
    		}
    	} else {
    		strFertig.=strValue." ";
    	}
    }
    strAusgabe=trim(strFertig);


    Gruß
    Karlja
  5. wieso willst du es nicht mit overflow:hidden machen??? wäre das nicht die einfachste lösung?
  6. naja dann verschwindet der text ja... also wird abgeschnitten.
    overflow:auto wäre ne möglichkeit jedoch kommt es dann ja auch zu scrollbalken und ein umbrechen der zeichenkette ist da doch eleganter. dann geht das zwar weiter in die länge, doch das finde ich angenehmer als scrollbalken mitten im design..
  7. Autor dieses Themas

    sincer

    Kostenloser Webspace von sincer

    sincer hat kostenlosen Webspace.

    ho ;)

    Vielen Dank für die Antworten!

    Ich habe mir über die Links (thx @ effektdesign), Theorie (thx @ karlja), Google (thx @ Larry Page & Sergey Brin), und ein wenig Hirn (thx @ god) meiner Seits alles nötige zusammenreimen können, was ich gebraucht habe XD

    thx
    Sincer
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!