[HTML] Zeilenumbruch beim IE

SoKoBaN

B.Ohlsen der alte Schwede
Teammitglied
Zeilenumbruch beim IE

Kleines Problem.

Ich hab die Zeichen [] in meinen Schriften.
Das wird nun beim IE zum Problem, da dieser eine [ oder ] in Tabellen mit fester Breite mitten im Wort umbricht.
Der behandelt das wie ein Leerzeichen.
Kann ich das hinbekommen, das der IE diese Umbrecherei sein lässt?
Opera z.B. bricht das Wort nicht um...
 
hi SoKoBaN :)

[ oder ] <-- dies wird umgebrochen, weil es ja auch Leerstellen drin hat denk ich. Vielleicht geht es wenn Du statt der Leerzeichen ein 'nbsp;' verwendest. *hoff*

Ansonsten kenn ich selber nur noch das 'nowrap' in 'td'-Tags, damit Zeilen wirklich erst beim Umbruch umgebrochen werden (unabhängig von der Länge der Zeile)
 
Nein...
Wenn ich z.B. dieses[oder]dieses dies[und]das
in eine Tabellenspalte schreibe,
die dafür zu kurz ist,

passier beim IE das:
dieses[oder]dieses dies[
und]das


Bei Opera wird so getrennt, wie ich das gern hätte:
dieses[oder]dieses
dies[und]das


Mit nowrap zerhauts dann ja die Tabelle trotz fester Breite.

...was tun :unsure:...
 
Kannst Du den Tabelleninhalt in <nobr></nobr> setzen? Das ist zwar laut SELFHTML nicht ganz standardkonform, aber wenn manche Browser es sonst nicht schaffen... :angel
Automatischen Zeilenumbruch verhindern

Sie können einen Textbereich bestimmen, in dem kein automatischer Zeilenumbruch erfolgt. Alles, was innerhalb dieses Bereichs steht, wird in einer langen Zeile angezeigt. Der Anwender kann dann mit der horizontalen Scroll-Leiste die überlangen Textzeile anzeigen.

Diese Möglichkeit gehört jedoch nicht zum offiziellen HTML-Sprachstandard. Sie sollten sie daher vermeiden.

Erläuterung:

<nobr> bewirkt, daß der auf das Tag folgende Text nicht umgebrochen wird (nobr = no break = kein Umbruch). Am Ende des Textabschnitts, der nicht umgebrochen werden soll, notieren Sie das abschließende Tag </nobr>.
Beachten Sie:

Wenn Sie Textzeilen unabhängig vom Anzeigefenster des Anwenders genau kontrollieren wollen und nach HTML-Standard arbeiten wollen, können Sie präformatierten Text einsetzen. (<pre></pre>, das wird dann so angezeigt, wie im Editor eingegeben.)
Quelle: http://selfhtml.teamone.de/html/text/zeilenumbruch.htm#verhindern
 
Jo, die Vorschläge sind ja nicht schlecht...das Problem dabei ist nur, das ich nicht weiss, wie viele Einträge da stehen werden, das die Daten aus ner DB kommen und daher Dynamisch sind.
Ich kann also unmöglich einen entprechenden Tag setzen, weil ich ja nicht wiess, wohin :)

Somit muss ich mir was anderes ausdenken :unsure:

THX4Help
 
Wie wäre denn eine PHP-Lösung ?

$text_aus_db=str_replace("[","<nobr>[",$text_aus_db);
$text_aus_db=str_replace("]","]<nobr>",$text_aus_db);

So würde ich das lösen.
 
Klingt irgendwie nach Stringlänge auschecken; resp. einer Anweisung, die folgendes machen würd:
Hau mir bitte immer nach (sagen wir mal) 150Zeichen einen Zeilenumbruch rein, aber nur wenn es dort eine Leerstelle hat, ansonsten gucke bis zu noch 5 Zeichen nach vorn und nimm die nächstgelegene Leerzeile um umzubrechen.

hmm.....
 
THX@ll

Astro hat mir den richtigen Denkanstoss gegeben :)
Und damit der IE nach ] nicht umbricht, musste ich noch nach ein paar Zeichen mehr suchen lassen.

So ists mir dann recht:

$text=str_replace("[","<nobr>[",$text);
$text=str_replace('"( |^])([a-zA-Z0-9@:%_\+.~#?&//=])"i','\\1<nobr>',$text);


THX4Help @ All
 
Oben