FB18 - Das Forum für Informatik

fb18.de / Off-Topic / Allgemeines

HTML Frage

HTML Frage 2010-03-28 15:25
Anonymer User
Hallo ihr lieben,

kleine Frage an euch: könnt ihr mir bitte sagen, wie ich in HTML absätze in ein Text einfüge.

Hintergrund: ich habe eine seite mit mit "meldung einfügen" wenn ich darauf klicke, kommt eine andere seite, wo ich einer Art Meldungsfenster einen variablen Text eingeben kann. Dort werden absätze akzeptiert, aber wenn ich dann speichern klicke, übernimmt er den text ohne absätze. mit welchem befehl kann ich ermöglichen, dass die absätze genauso wie im meldungsfenster übernommen werden?

Hoffe das war verständlich genug für euch und würde mich wirklich freuen, wenn ihr mir so schnell wie möglich weiterhelfen könntet.

DANKE EUCH!!

RE: HTML Frage 2010-03-28 16:30
chris
<p>
Absatz mit Text
</p>
<p>
Nächster Absatz
</p>

RE: HTML Frage 2010-03-28 16:33
Popcorn
Chris-Vorschlag funktioniert, wenn Du Ersetzungen im Text durchführen kannst. Ansonsten wäre das pre-Tag was Du suchst:

<pre>Dein Text</pre>

<p> - Paragraph
<pre> - Predefined

RE: HTML Frage 2010-03-28 17:05
Julian F.
Oder noch ausgefeilter: Einbindung eines Parsers wie Markdown. Das würde dann auch gleich Textformatierungen (wie fett und kursiv) und vieles mehr ermöglichen.

RE: HTML Frage 2010-03-28 17:20
Anonymer User
ja, aber ich hab doch einen variablen text. funktioniert das dann auch?
also ich muss es ja bereits im quellcode angeben, dass mein text absätze erlaubt.
denn im quellcode kommt ja noch kein txt von mir rein.

RE: HTML Frage 2010-03-28 20:58
Julian F.
Wie speicherst du denn den Text? Damit ein vom Besucher eingegebener Text hinterher auf der Webseite zu sehen ist, muss er ja zwischendurch irgendwann abgespeichert werden, wozu entweder eine serverseitige Skriptsprache (z.B. Python, ASP oder PHP) oder irgendein vorgefertigtes System notwendig ist.

Die Lösung von Popcorn ist wahrscheinlich die einfachste. Wenn du in deinem HTML-Code den Text in ein <pre>-Tag einschließt (und zwar nicht dort, wo du den Text eingibst, sondern dort, wo du ihn dem Besucher anzeigst), zeigt der Browser die Zeilenumbrüche auch als solche an. Der Nachteil an dieser Lösung ist, dass dadurch auch die automatischen Zeilenumbrüche deaktiviert werden, so dass deine Benutzer überlange Zeilen eingeben können. Der Vorschlag von chris funktioniert besser, ist aber auch schwieriger umzusetzen.

Wenn du noch weitere Hilfe brauchst, würdest du uns das erleichtern, indem du uns deine Seite bzw. relevante Codeabschnitte zeigst, oder erst mal genauer erklärst, wie sie bisher funktioniert. :)

RE: HTML Frage 2010-03-28 21:21
Wulf
Ich bitte um ein wenig Vorsicht, sonst gibt irgendein Scherzkeks sowas ein:

blah
</pre>
<script>somethingevil();</script>
<pre>
blah

RE: HTML Frage 2010-03-28 21:29
Popcorn
Na ja, das hat mit den Tags nichts zu tun und müsste separat betrachtet werden. Auf jeden Fall immer ein wichtiger Hinweis bei solchen Geschichten, aber ggf. auch gewünscht.

RE: HTML Frage 2010-03-28 21:50
hnbl
Ein Javascript basierter wysiwyg Editor wäre auch eine Idee: http://tinymce.moxiecode.com/
den kann man beliebig komplex bzw. einfach gestalten.
Ansonsten empfehle ich den Text vor dem Speichern nochmal durchzuparsen und 0x13 durch <br/> zu ersetzen - je nachdem worin das ganze implementiert ist.
Am besten sieht es natürlich mit TinyMCE aus… (gibt da auch andere Editoren, musst halt mal suchen)

RE: HTML Frage 2010-03-28 22:20
Anonymer User
Wenn du Zeilenumbrüche per Hand ersetzt musst du darauf aufpassen, dass diese von unterschiedlichen Betriebssystemen teilweise unterschiedlich interpretiert werden (siehe http://de.wikipedia.org/wiki/Zeilenumbruch). Das heißt am besten ersetzt du dann zuerst CR LF durch <br /> und dann CR und LF einzelnd durch <br />, damit du nicht bei einem CR LF einen doppelten Zeilenumbruch bekommst. 0x13 ist übrigens weder CR noch LF. Wenn du aber ohnehin im dem "Programm" arbeiten musst, kannst du auch irgendwas schönes benutzen, wie oben vorgeschlagen. Andernfalls wüsste ich auch keine alternative als <pre></pre> zu benutzen. Aber wie schon von Julian geschrieben hat ist weitere Hilfe nur sinnvoll möglich, wenn du beschreibst, was du genau willst.

RE: HTML Frage 2010-03-29 12:22
NaZo
Wir wissen ja immer noch nicht, mit welcher Skriptsprache der Text auf die Seite eingefügt wird, aber falls es PHP ist, gibt es dort z.B. die Funktion nl2br().

RE: HTML Frage 2010-03-31 13:43
hnbl
0x13 ist übrigens weder CR noch LF
Äh klar, 13 (Dec) meinte ich natürlich. Also in Hex: 0x0D