<pre> </pre>
Sven Mörs
- html
Hallo,
ich habe ein großes Problem mit <pre> un zwar:
Ich mache zur Zeit eine Delphi-Website. Speicher Quellcodes in einer Datenbank(mysql), und lese die mit einem PHP-Script aus. Den Delphi-Quellcode lasse ich dann in <pre> </pre> anzeigen. Wenn der Text (Beschreibung) länger ist als meine Tabelle, wird die Tabelle automatisch vergrößert, obwohl ich die Tabelle einen festen Wert gegeben habe. Gibt es da vielleicht einen Wert den ich <pre> übergeben kann, dass er automatisch einen Zeilenumbruch macht?
Wenn nicht, wie kann ich das am besten dann machen mit dem Quellcode anzeigen, ohne <br> beim hinzufügen der DB eingeben zu müssen?
Vielen Dank schonmal!
MFG
Sven!
Hi Sven,
Ich mache zur Zeit eine Delphi-Website. Speicher Quellcodes in einer Datenbank(mysql), und lese die mit einem PHP-Script aus. Den Delphi-Quellcode lasse ich dann in <pre> </pre> anzeigen. Wenn der Text (Beschreibung) länger ist als meine Tabelle, wird die Tabelle automatisch vergrößert, obwohl ich die Tabelle einen festen Wert gegeben habe. Gibt es da vielleicht einen Wert den ich <pre> übergeben kann, dass er automatisch einen Zeilenumbruch macht?
Suche in SelfHTML, Kapitel CSS nach dem Stichwort overflow.
Wenn nicht, wie kann ich das am besten dann machen mit dem Quellcode anzeigen, ohne <br> beim hinzufügen der DB eingeben zu müssen?
Kannst, wenn Daten in der DB mit \n vorliegen die Funkion nl2br() verwenden. => http://de.php.net/manual/de/function.nl2br.php, wenn ich dich nicht falsch verstaden habe.
MfG, Dennis.
Hi Dennis,
Gibt es da vielleicht einen Wert den ich <pre> übergeben kann, dass er automatisch einen Zeilenumbruch macht?
Suche in SelfHTML, Kapitel CSS nach dem Stichwort overflow.
http://de.selfhtml.org/css/eigenschaften/positionierung.htm#overflow
http://www.w3.org/TR/CSS21/visufx.html#propdef-overflow
das bewirkt aber etwas anderes. Gesucht war vermutlich white-space:
http://de.selfhtml.org/css/eigenschaften/ausrichtung.htm#white_space
http://www.w3.org/TR/CSS21/text.html#propdef-white-space
Für den schnellen Link ... siehe Signatur.
Grüße,
Roland
nabend
Es ist nicht mehr sehr erwünscht in html 4.0
Aber je nach Anwendungszweck durchaus noch tauglich
<pre width="80">
</pre>
mfg
Hi Dennis,
Gibt es da vielleicht einen Wert den ich <pre> übergeben kann, dass er automatisch einen Zeilenumbruch macht?
Suche in SelfHTML, Kapitel CSS nach dem Stichwort overflow.
http://de.selfhtml.org/css/eigenschaften/positionierung.htm#overflow
http://www.w3.org/TR/CSS21/visufx.html#propdef-overflowdas bewirkt aber etwas anderes. Gesucht war vermutlich white-space:
http://de.selfhtml.org/css/eigenschaften/ausrichtung.htm#white_space
http://www.w3.org/TR/CSS21/text.html#propdef-white-spaceFür den schnellen Link ... siehe Signatur.
Grüße,
Roland
Hi,
das funktioniert irgendwie nicht!
Habe folgendes probiert:
<html>
<head>
<style type="text/css">
<!--
#editor { white-space:pre; }
#langezeile { white-space:nowrap; }
//-->
</style>
</head>
<table width="80%" border="1">
<td>
<p id="editor">
test1 test2 test3 test4 test5 t4est6 test7 tets8 test9 test10 test11 test12 test13 test14vtest15 test16 test17 test18 test19 test20
test2
test3
test4
</p>
</td>
</table>
</html>
test2 test3 test4 steht alles Nebeneinander! Das soll aber untereinander ohne <br> oder sowas zu benutzen wie halt <pre>.
Oder mache ich was falsch?
Hi Sven,
Oder mache ich was falsch?
Ich glaube, du hast den Verwendungszweck von <pre> noch nicht ganz verstanden:
<pre>Du heißt Sven</pre>
steht natürlich alles nebeneinander - woher soll der Browser auch wissen, dass er umbrechen soll?
<pre>Du
heißt
Seven</pre>
Steht alles untereinander, da in <pre> Zeilenumbrüche (was ja sonst in HTML nicht der fall ist) dargestellt werden.
Was genau willst du jetzt machen? Du willst, das jedes Wort in einer Zeile steht? Da machst du lieber etwas mit PHP:
str_replace(" ","\n",$string);
ersetzt im $string alle Leerzeichen durch einen Zeilenumbruch und wenn du dann
echo "<pre>$string</pre>";
machst, so kriegst du jedes Wort in eine Zeile.
Oder habe ich immer noch nicht verstanden, was du machen willst?
MfG, Dennis.
<pre>Du heißt Sven</pre>
steht natürlich alles nebeneinander - woher soll der Browser auch wissen, dass er umbrechen soll?
<pre>Du
heißt
Seven</pre>str_replace(" ","\n",$string);
ersetzt im $string alle Leerzeichen durch einen Zeilenumbruch und wenn du dann
echo "<pre>$string</pre>";
machst, so kriegst du jedes Wort in eine Zeile.
Oder habe ich immer noch nicht verstanden, was du machen willst?
MfG, Dennis.
Nein, also ich weis wie <pre> geht nur das geht ja auch so:
Hallo
Sven
steht dann auch untereinander, aber WENN jetzt ich ganz viel in einer Zeile schreibe:
test1 test2 test3 test4 test5 test6 test7 test8 test9 test10 test10 test12 test13 test14 test15 test16 test17 test18 test19 test20 test21 test22 test23 test24 test25
Das in einer Zeile, soll der Text am ende der Tabelle automatisch einen Zeilenumbruch machen. Aber mit der Replace Funktion geht es auch da kann ich alle Leerzeichenn ersetzen durch  . Nur wie kann ich auch die Zeilenumbrüche ersetzen?
str_replace("\n","<br />",$string);
Klapt das? Testen selber ist doof mit dem ganzen php und so extra hochladen ist dann scheiße wenn man dass dann ändern musst. vielen dank schonmal
MFG
sven!
Hi Sven,
str_replace("\n","<br />",$string);
Damit würdest du alle Zeilenumbrüche durch <br /> ersetzen - hast aber dein Problem noch nicht gelöst.
Würde aber funktionieren.
Klapt das? Testen selber ist doof mit dem ganzen php und so extra hochladen ist dann scheiße wenn man dass dann ändern musst. vielen dank schonmal
Such mal nach "XAMPP" für Windows||Linux - da kannst du dir PHP und alles local installieren, ganz einfach, hab ich auch.
MfG, Dennis.
Hi Sven,
str_replace("\n","<br />",$string);
Damit würdest du alle Zeilenumbrüche durch <br /> ersetzen - hast aber dein Problem noch nicht gelöst.
Würde aber funktionieren.
Such mal nach "XAMPP" für Windows||Linux - da kannst du dir PHP und alles local installieren, ganz einfach, hab ich auch.MfG, Dennis.
Doch, dann ist mein Problem gelöst! Thx für eure Hilfe!
Ich werde dann den QuellCode als normalen Text anzeigen
lassen. Wenn ich dann vor dem anzeigen alle Zeilenumbrüche
in <br /> umwandel und alle Leerstellen in   siehts so
aus wie im Editor!
MFG
Sven!
Hi Sven,
str_replace("\n","<br />",$string);
Geht übrigends auch einfacher mit
nl2br($string);
siehe: http://de.php.net/manual/de/function.nl2br.php
MfG, Dennis.