kostenloser Webspace werbefrei: lima-city


zeilenumbrüche

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    apollo13

    apollo13 hat kostenlosen Webspace.

    ich speichere den inhalt einer textarea in einer tag/daten">datenbank ab. wrap der textarea ist auf physical. beim anzeigen wird der umbruch aber nicht angezeigt.

    was muss ich machen, damit der zeilenumbruch, der eigentlich durch wrap physical ?bertragen werden sollte, auch in der ausgabe angezeigt wird bzw. umgebrochen wird.


    danke im voraus

    mfg apollo13
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. p**h

    jo hatte ad aproblem auch benutze die fnction nltobr():
    nltobr($string_mit_den_text)
  4. Autor dieses Themas

    apollo13

    apollo13 hat kostenlosen Webspace.

    funktioniert die immer, soll hei?en wird in die datenbank ein nl eingetragen oder muss ich nltobr vorm eintragen machen oder kann ichs nach dem eintragen machen, letzteres brauche ich.

    mfg apollo13
  5. p**h

    nein
    wenn du durch eine textarea in dei db eintr?ge eintr?gst ist das gut
    wen du die daten ausgibst dann machst einfach vor der ausgabe der strings nl2br()
    du brauchst nicht extra machen
    zb:
    while ($daten = mysql_fetch_object($die query))
    {
    echo nl2br($daten->text);
    }

    mit fetch_array oder row geht das nat?rlich auch
  6. a*********r

    zeilenumbr?che werden in die Datenbank mit \n gespeichert, es gibt mehrere M?glichkeiten das in <br> umzuwandeln wie replace usw.
    Aber PHP hat daf?r eine Funktion vorbehalten, die am besten ist. Sie wurde oben genannt
  7. Autor dieses Themas

    apollo13

    apollo13 hat kostenlosen Webspace.

    so, bin wieder da sorry dass ich solange nicht geanwortet habe ...

    also:
    ein enter wird korrekt in die datenbank ?bertragen, ein zeilenumbruch nicht, da wrap nicht funzt, habe geh?rt wird nicht von allen browsern unterst?zt.

    also wie mache ich es, dass die automatischen zeilenumbr?che in die datenbank geschrieben werden.

    zeilenumbruch ist \n oder?? zumindest im linux
    und enter auch \n??

    warum wird dann in die db nur dass enter ?bertragen :confused::confused:

    hoffe ihr k?nnt helfen

    mfg apollo13
  8. apollo13 schrieb:
    also:
    ein enter wird korrekt in die datenbank ?bertragen, ein zeilenumbruch nicht, da wrap nicht funzt, habe geh?rt wird nicht von allen browsern unterst?zt.
    [...]
    warum wird dann in die db nur dass enter ?bertragen :confused::confused:
    [...]

    Also 'enter' ist eine Taste auf der Tastaur. Und ein Zeileinumbruch ist ein Zeichen (Charakter), welches in Eingabefeldern, Textprogrammen, ... durch die Entertaste erzeugt wird. Der Zeilenumbruch ist wir von HTML aber (mit Au?nahme von <pre></pre>, ...) nur als Leerzeichen interpretiert. Ein Zeilenumbruch muss in HTML-Codes als <br /> angegeben werden. Wenn du also den Text aus deiner Datenbank wieder ausgeben willst musst du ihn vorher mit nl2br() vormatieren.

    echo nl2br($text_aus_datenbank);
  9. Autor dieses Themas

    apollo13

    apollo13 hat kostenlosen Webspace.

    das mit
    nl2br haben andere schon geschrieben, das ist nicht mehr das problem

    das problem liegt nicht !!!! bei der ausgabe
    sondern bei der eingabe:

    nur zeilenumbr?che die ich mit enter in der textarea mache werden in der datenbank angezeigt und folglich auch ausgegeben mi nl2br. wie ?bertrage ich nun die zeilenumbr?che korrekt !!in!! die datenbank??

    mfg apollo13
  10. apollo13 schrieb:
    das mit
    nl2br haben andere schon geschrieben, das ist nicht mehr das problem

    das problem liegt nicht !!!! bei der ausgabe
    sondern bei der eingabe:

    nur zeilenumbr?che die ich mit enter in der textarea mache werden in der datenbank angezeigt und folglich auch ausgegeben mi nl2br. wie ?bertrage ich nun die zeilenumbr?che korrekt !!in!! die datenbank??

    mfg apollo13

    H??

    INSERT INTO ... 'erste Zeile\nZweite Zeile'

    Aber wenn die Eingabe aus einer Textarea kommt, dann sind die eingegebenen Zeielumbr?che doch schon in der $_POST (oder $_GET) -Variable

    Woher willst du eigentlich wissen, dass das Problem bei der Eingabe liegt? Wenn es an der Eingabe liegen w?rde, dann w?rde auch nl2br() nicht funktionieren.
  11. Ciao,

    also, wenn ich dich richtig verstanden hab, willst du die Zeilenumbr?che, die du in der Textarea gemacht hast, auch wieder so ausgeben lassen?!

    Das k?nntest du z.B. mit dem <br>-tag machen:
    $var = chr(13).chr(10);
    $text = str_replace($var, "<br>", $text);
  12. Autor dieses Themas

    apollo13

    apollo13 hat kostenlosen Webspace.

    Wenn es an der Eingabe liegen w?rde, dann w?rde auch nl2br() nicht funktionieren.




    warum, phpmyadmin zeigt die zeilenumbr?che nicht an, au?er die mit enter "erstellten", mit anzeigen meine ich er macht bei der ansicht der tabelle im text den zeilenumbruch dort wo er higeh?rt aber nur mit den enter-zeilenumbr?chen

    folglich wenn die wichtigen zeilenumbr?che fehlen funzt halt nl2br() nur f?r die mit enter erstellten andere gibt es ja nicht

    mfg apollo13

    edit:
    @vorposter das funktioniert einfacher mit nl2br au?erdem was soll er ersetzen wenns einen teil der zeilenumbr?che nicht gibt??

    edit:



    H??

    INSERT INTO ... 'erste Zeile\nZweite Zeile'

    Aber wenn die Eingabe aus einer Textarea kommt, dann sind die eingegebenen Zeielumbr?che doch schon in der $_POST (oder $_GET) -Variable

    Woher willst du eigentlich wissen, dass das Problem bei der Eingabe liegt? Wenn es an der Eingabe liegen w?rde, dann w?rde auch nl2br() nicht funktionieren.


    wenn ich im phpmyadmin als sql statement folgendes eingebe : "insert into test (name) values ('name\nfdf\n')" funktioniert es so wie es soll, warum werden die zeilenumbr?che aus der textarea nicht ?bernommen ist wrap vielleicht nicht valide???

    Beitrag ge?ndert am 22.08.2005 20:13 von apollo13
  13. Also irgendwie versteh ich nicht, was du da so machst. Poste mal bite ein parr Quelltext-Schnipsel.

    Bei mienem G?stebuch funktioniert's jedenfalls so, wie oben beschrieben.

    Achja, nimm doch das wrap-Atrribut mal raus und guck dann, ob's Funktioniert.
  14. Autor dieses Themas

    apollo13

    apollo13 hat kostenlosen Webspace.

    ausschnitt
    <form action='edit_text.php' method='post' name='Formular'>
    <textarea name='text'>$row->text</textarea>
    
    <input type='submit' value='&Auml;nderungen speichern' />
    </form>


    die verarbeitungsdatei
    include("security.php");
    include("dbconnect.php");
    if ($_SESSION["privilegs"] == "user") {
    echo "<meta http-equiv=\"refresh\" content=\"0; URL=index.php\">";
    };
    
    $einst = $_GET["einst"];
    $id = $_GET["id"];
    $dienst = $_GET["dienst"];
    
    if ($einst == "del_text") {
      $abfrage = "DELETE FROM texte where id like '$id'";
      mysql_query($abfrage);
      echo "<meta http-equiv=\"refresh\"
     content=\"0; URL=service.php?id=$dienst\">";
    }


    dass m?stte reichen, nein ohne wrap gehts auch nicht

    mfg apollo13

    danke f?r deine geduld

    Beitrag ge?ndert am 22.08.2005 20:38 von apollo13
  15. Das HTML-Tag <textarea> hat kein (irgendwie geartetes) wrap-Attribut:

    http://de.selfhtml.org/html/formulare/eingabe.htm#bereiche_umbruch

    Der "Textumbruch" findet nur in der Browser-Anzeige statt -- egal was du auch immer als wrap-Eigenschaft im HTML-Quelltext notierst.

    ?bermittelt werden aber sehr wohl Zeilenumbr?che, und zwar die, die der Benutzer durch Dr?cken der Enter-Taste eingibt. Diese Zeilenumbr?che kannst du bei der Anzeige deines Datenbankinhaltes in HTML-Zeilenumbr?che (<br />-Tag) umwandeln -- also nachdem, du den Text der Datenbanktabelle entnommen hast, nicht vorher. Denn HTML-Tags haben in einer Datenbanktabelle eigentlich nichts zu suchen.

    MfG
    alopex
  16. Autor dieses Themas

    apollo13

    apollo13 hat kostenlosen Webspace.

    danke alopex du bist meine rettung, aber wie mache ich es dann dass am ende eines divs welches mit css width: xx em; festgelegt ist ein umbruch stattfindet???

    also so wie hier bei lima!

    mfg apollo13

    und ich wundere mich warum die zeilenumbr?che nicht eingetragen wurden lol

    Beitrag ge?ndert am 22.08.2005 20:49 von apollo13
  17. HI jetzt habe ich damit ne problem =)

    mein code

    echo "
    <table>
    <tr>
    <td>Name:</td>
    <td> $name </td>
    </tr>
    "

    der geht noch l?nger, aber das ist egal.
    wenn ich das nach echo eingebe also echo "nl2br(table...)" dann wird der nl2br vor jedes variable gezeigt...

    wie gebe ich das korrekt ein?

  18. HI jetzt habe ich damit ne problem =)

    mein code

    echo "
    <table>
    <tr>
    <td>Name:</td>
    <td> $name </td>
    </tr>
    "

    der geht noch l?nger, aber das ist egal.
    wenn ich das nach echo eingebe also echo "nl2br(table...)" dann wird der nl2br vor jedes variable gezeigt...

    wie gebe ich das korrekt ein?


    Schreibs doch so:

    $var = nl2br($var);

    Dann hast du in der Variable $var gleich "verzeilenumbrucht".
    Dann kannst du deine echo-Ausgabe einfach so wie du schon geschrieben hast, stehen lassen.

    MfG lagerhaus

  19. uffff....


    muss ich dann alle variablen was ich habe so um ?ndern?
    das dauert ja ewig =)


    EDIT: ach schuldigung... brauche ja nur paar ?nder =) die zeilenbr?che haben =)

    Beitrag ge?ndert am 6.09.2005 19:12 von bilo

  20. uffff....


    muss ich dann alle variablen was ich habe so um ?ndern?
    das dauert ja ewig =)



    Liest du die Variablen aus einer Datenbank aus? Dann w?rde ich das vor dem Abspeichern machen.

    Sonst muss das f?r jede Variable gemacht werden, soweit ich wei?. Du musst es ja nur einmal pro Variable machen. (Vielleicht am Anfang der Datei u.?.)

    MfG lagerhaus
  21. 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!