PHP-Zeilenumbruch

  • hey leute hab ein problem mit zeilenumbrüchen!
    wenn jemand in mein forum schreibt und im textfeld ein enter verwendet um mit dem text in der nächsten zeile zu beginnen,
    dann wird bei der ausgabe die werte verschoben. das geht ja mit str_replace weg laut php.net, aber ich hab schon so viele
    möglichkeiten ausprobiert und finde net den richtigen weg.....HELP


    das ist mein forum und danach die funktionen


    PHP
    <span class="syntaxdefault"><?php<br /></span><span class="syntaxkeyword">require_once (</span><span class="syntaxstring">"forumsfunktion.php"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">?><br /></span><html><br /><head><title>Forum</title></head><br /><body><br /><h1>Willkommen beim Forum</h1><br /><p>Sagen Sie uns Ihre Meinung</p><br /><span class="syntaxdefault"><?php formular_ausgeben</span><span class="syntaxkeyword">(); </span><span class="syntaxdefault">?><br /></span><hr/><br /><span class="syntaxdefault"><?php<br />     </span><span class="syntaxkeyword">for (</span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">= </span><span class="syntaxdefault">count </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$beitraege </span><span class="syntaxkeyword">)-</span><span class="syntaxdefault">1 </span><span class="syntaxkeyword">; </span><span class="syntaxdefault">$i </span><span class="syntaxkeyword">>= </span><span class="syntaxdefault">0</span><span class="syntaxkeyword">; </span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">--)<br />  { <br />      </span><span class="syntaxdefault">beitrag_ausgeben</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$beitraege</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">]);<br />      print </span><span class="syntaxstring">"<hr/> \n"</span><span class="syntaxkeyword">;<br />  <br />   }<br /></span><span class="syntaxdefault">?><br /></span><p>Thats all folks.</p><br /></body><br /></html><br /><br /><br /><br /><span class="syntaxdefault"><?php                <br /><br /><br />$beitraege </span><span class="syntaxkeyword">= array ();<br />                                                                  <br /></span><span class="syntaxdefault">beitrag_schreiben </span><span class="syntaxkeyword">();                                             <br />                                                                                      <br /></span><span class="syntaxdefault">beitraege_einlesen</span><span class="syntaxkeyword">();<br /><br />                                                                                                                                <br /><br />function  </span><span class="syntaxdefault">beitrag_schreiben </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$datei </span><span class="syntaxkeyword">= </span><span class="syntaxstring">"beitraege.txt"</span><span class="syntaxkeyword">)                             <br />{    <br />      <br />      <br />     if (!empty (</span><span class="syntaxdefault">$_REQUEST </span><span class="syntaxkeyword">[</span><span class="syntaxstring">'text'</span><span class="syntaxkeyword">] )  )                                       <br />     {                                                                          <br />     </span><span class="syntaxdefault">$dh </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">fopen </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$datei</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"a"</span><span class="syntaxkeyword">)  ;                                           <br />                                                                               <br />     if (!</span><span class="syntaxdefault">$dh</span><span class="syntaxkeyword">)<br />     {<br />     print </span><span class="syntaxstring">" Kann Datei nicht erstellen! \n"</span><span class="syntaxkeyword">;<br />     }<br />     else<br />     {  <br />     </span><span class="syntaxdefault">fputs </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$dh</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">$_REQUEST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'text'</span><span class="syntaxkeyword">] .</span><span class="syntaxstring">"\n" </span><span class="syntaxkeyword">) ;<br />           <br />     if (</span><span class="syntaxdefault">$_REQUEST </span><span class="syntaxkeyword">[</span><span class="syntaxstring">'autor'</span><span class="syntaxkeyword">] )                                  <br />        <br />     {<br />     </span><span class="syntaxdefault">fputs </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$dh</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$_REQUEST </span><span class="syntaxkeyword">[</span><span class="syntaxstring">'autor'</span><span class="syntaxkeyword">] .</span><span class="syntaxstring">"\n"</span><span class="syntaxkeyword">);<br />     }<br />     else<br />     {<br />     </span><span class="syntaxdefault">fputs </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$dh</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"unbekannt\n"</span><span class="syntaxkeyword">); <br />                <br />     }                           <br />     if (</span><span class="syntaxdefault">$_REQUEST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'betreff'</span><span class="syntaxkeyword">] ) <br />                                                     <br />     {<br />     </span><span class="syntaxdefault">fputs </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$dh</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$_REQUEST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'betreff'</span><span class="syntaxkeyword">].</span><span class="syntaxstring">"\n"</span><span class="syntaxkeyword">);<br />     }<br />     else<br />     {<br />     </span><span class="syntaxdefault">fputs </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$dh</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"kein Betreff\n"</span><span class="syntaxkeyword">);<br />     }                   <br />          <br />     </span><span class="syntaxdefault">fclose </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$dh</span><span class="syntaxkeyword">);                                                <br />     }<br />     }                                                                     <br />}                                  <br />          <br />           <br />                                                     <br />        <br />        <br />         <br />function </span><span class="syntaxdefault">beitraege_einlesen </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$datei </span><span class="syntaxkeyword">= </span><span class="syntaxstring">"beitraege.txt"</span><span class="syntaxkeyword">)               <br />{<br />    global </span><span class="syntaxdefault">$beitraege</span><span class="syntaxkeyword">;                                              <br />                                                                     <br />    </span><span class="syntaxdefault">$dh </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">fopen </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$datei</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"r"</span><span class="syntaxkeyword">);                                       <br />                                                                        <br />    if (!</span><span class="syntaxdefault">$dh</span><span class="syntaxkeyword">)<br />    {<br />                print </span><span class="syntaxstring">"Kann Datei \"$datei\" nicht &ouml;ffnen!\n"</span><span class="syntaxkeyword">;<br />    }<br />    else<br />    {     <br />    for (</span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">; !</span><span class="syntaxdefault">feof </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$dh</span><span class="syntaxkeyword">); </span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">++)                          <br />                {             <br />                </span><span class="syntaxdefault">$zeile </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">fgets</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$dh</span><span class="syntaxkeyword">);                              <br />    if (</span><span class="syntaxdefault">$zeile </span><span class="syntaxkeyword">!= </span><span class="syntaxstring">"" </span><span class="syntaxkeyword">)                                                                                                <br />         { <br />               </span><span class="syntaxdefault">$beitraege</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'text'</span><span class="syntaxkeyword">] =   </span><span class="syntaxdefault">$zeile</span><span class="syntaxkeyword">;                  <br />               </span><span class="syntaxdefault">$beitraege</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'autor'</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">fgets </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$dh</span><span class="syntaxkeyword">);            <br />    </span><span class="syntaxdefault">$beitraege</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'betreff'</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">fgets </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$dh</span><span class="syntaxkeyword">);<br />            }                                                     <br />                  <br />    }                                               <br />    </span><span class="syntaxdefault">fclose </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$dh</span><span class="syntaxkeyword">);<br />    }<br />}                       <br />                                                                  <br />function </span><span class="syntaxdefault">beitrag_ausgeben </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$beitrag</span><span class="syntaxkeyword">) <br /><br />{<br />print </span><span class="syntaxstring">"Eintrag: " </span><span class="syntaxkeyword">. </span><span class="syntaxdefault">ucwords </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$beitrag</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'text'</span><span class="syntaxkeyword">]).</span><span class="syntaxstring">"\n"</span><span class="syntaxkeyword">; <br />    print </span><span class="syntaxstring">"<br />"</span><span class="syntaxkeyword">;<br />print </span><span class="syntaxstring">"Autor: "</span><span class="syntaxkeyword">. </span><span class="syntaxdefault">ucwords </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$beitrag </span><span class="syntaxkeyword">[</span><span class="syntaxstring">'autor'</span><span class="syntaxkeyword">]).</span><span class="syntaxstring">"\n"</span><span class="syntaxkeyword">;<br />    print </span><span class="syntaxstring">"<br />"</span><span class="syntaxkeyword">;<br />print </span><span class="syntaxstring">"Betreff: "</span><span class="syntaxkeyword">. </span><span class="syntaxdefault">ucwords </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$beitrag </span><span class="syntaxkeyword">[</span><span class="syntaxstring">'betreff'</span><span class="syntaxkeyword">]).</span><span class="syntaxstring">"\n"</span><span class="syntaxkeyword">;<br />                                                                                             <br />}<br /><br />function </span><span class="syntaxdefault">formular_ausgeben</span><span class="syntaxkeyword">()                           <br /><br />{<br />                                                                                                      <br /></span><span class="syntaxdefault">?><br /></span>    <form method="post" action="<span class="syntaxdefault"><?php </span><span class="syntaxkeyword">(print </span><span class="syntaxdefault">$_SERVER</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'PHP_SELF'</span><span class="syntaxkeyword">]) </span><span class="syntaxdefault">?></span>  ">      <br />    <br />    <b> Text  : </b> <br />    <br/><br />    <textarea name="text" cols="50" rows="10" > </textarea> <br /><br />    <b> Autor : </b> <br />    <br/><br />    <input type="text" name="autor">  <br />     <br /><br />    <b> <em>Betreff</em>: </b> <br/><br />    <input type="text" name="betreff" ><br />    <br/><br />    <br/><br />    <input type="submit" value="absenden"><br />    </form><br /><span class="syntaxdefault"><?php<br /></span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">?></span>
  • Ein Zeilenumbruch besteht nicht nur aus \n sondern aus Kompatibilitätsgründen sollte es \r\n heißen. (Dann ist das nämlich für alle Betriebssysteme verständlich. \n verstehen nur UNIX-Systeme^^)
    Trotzdem habe ich dein Problem noch nicht so ganz verstanden..^^ Welche Werte verschieben sich wo? :?


    PS: Wo ist dein Doctype? 8|
    PPS: Wo ist die Angabe welchen Zeichensatz du verwendest? O.o
    PPPS: Was macht die Ausgabe nach dem </html> da? 8|
    PPPPS: Was machen die 2 <br />'s hintereinander da? :D Wenn du Abstand haben willst, benutzte die CSS-Eigenschaft margin? :D
    PPPPPS: Wieso rufst du Funktionen auf, die du danach erst definierst? o.o Hau den Kram doch dann direkt da hin?^^
    PPPPPPS: Sry für meien ganzen Augen-Smielys und die ganzen PS's :D

  • das sind zwei verschiedene dateien, ich hab nur beide zusammen reingestellt.
    und es ist noch nicht im internet, sonder ich übe über localhost


    mein problem ist das ich net weiss wohin ich dieses str_replace packen soll, damit
    die zeilenümbrüche bei der eingabe eines textes mein forumlayout nicht verschieben,
    z.b. gibt jemand ein: Text: hallo
    Autor:autor
    Betreff:betreff -----dann wird es genauso unten ausgegeben
    wenn aber jemand schreibt: Text: hallo
    wie gehts?
    Autor:autor
    Betreff:betreff ------dann wird es so ausgegeben: Text: betreff
    Autor:
    Betreff:


    Text:hallo
    Autor:wie gehts?
    Betreff:autor

  • Dann scheinst du eher Probleme mit dem Stylen zu haben :D
    Also als erstes.. Theoretisch ist es doch ersteinmal wichtiger zu wissen, worum es geht (Betreff) und wer den Unsinn den überhaupt Verzapft hat (Autor).
    Danach sollte der Text kommen (so sehe ich das). Hast du bei einer E-Mail, in Zeitungen,.. ja auch immer so.


    Problem ist, dass wenn du die Zeilenumbrüche heraus filterst, es bei kürzeren Sätzen es vllt hilft, aber bei längeren Sätzen trotzdem früher oder später der Satz umgebrochen wird.
    Außerdem hey.. was ist das für ein Forum, wo ich keine Absätze machen darf? 8|


    Versuch das mal..^^
    Is n gaanz einfacher Aufbau:

    Code
    <div class="eintrag">
        <span class="betreff">Betreff</span><br />
        geschrieben von <span class="autor">Autor</span>
        <p>Inhalt</p>
    </div>

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!