html textarea macht probleme im text file

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • html textarea macht probleme im text file

    Hi
    Folgendes Problem:

    Ich habe ein Html Forumlar dass in ein array eingelesen und in ein txt file weggeschrieben wird. soweit so gut alles funktoiniert.

    alleinig die text area macht probleme! Nämlich wenn der User in der text area absichtlich(also mit Enter) einen Zeilenumbruch herbeiführt so wird dieser bis ins text file mitgeschliffen was einen ungültigen eintrag zur folge hat.

    meine frage: wie kann ich den Zeilenumbruch in der textarea verhindern oder so umwandeln, dass im textfile der eintrag mit trennzeichen in einer zeile steht.

    nl2br oder str_replace oder so gschichten hab ich schon ausprobiert geht nicht.
    hat jemand eine idee?
    Danke im Vorraus Lg Galahad

  • #2
    Re: html textarea macht probleme im text file

    Original geschrieben von Galahad51
    nl2br oder str_replace oder so gschichten hab ich schon ausprobiert geht nicht.
    definiere geht nicht, zumal die beiden eh deine rettung sind.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      geht nicht: vermutlich hab ichs falsch eingesetzt bitte zeig mir wie einer der befehl richtig einzusetzen ist wenn


      <textarea name="data[news]" cols="42" rows="10" class="greybox" Bitte geben sie hier ihre NEWS ein</textarea>


      define ('µ',chr(4));

      $_POST['data']['datum'];
      $_POST['data']['titel'];
      $_POST['data']['news'];
      $_POST['data']['autor'];

      // formular zu einem string mit trennzeichen schreiben
      $text=implode ("µ", $_POST['data']);




      das hier stehende funktioniert, wie gesagt, das einzige problem ist, dass der zeilenumbruch sich ins text file fortsetzt und eine ungültige auslese zur folge hat.

      thx lg Galahad

      Kommentar


      • #4
        PHP-Code:
        $_POST['data']['news'] = str_replace(array("\\\\n""\\\\r"),array("<br>"""), $_POST['data']['news']); 
        ... ungetestet
        Kissolino.com

        Kommentar


        • #5
          sieht jetzt so aus
          $_POST['data']['datum'];
          $_POST['data']['titel'];
          $_POST['data']['news'] = str_replace(array("\\n", "\\r"),array("<br>", ""), $_POST['data']['news']);
          $_POST['data']['autor'];

          // formular zu einem string mit trennzeichen schreiben
          $text=implode ("µ", $_POST['data']);

          funktioniert aber nicht weil er im text file immer noch den zeilenumbruch macht!!!

          Lg Galahad

          Kommentar


          • #6
            mea culpa ... statt \\n & \\r setz mal \n & \r
            Kissolino.com

            Kommentar


            • #7
              JJUUUUHHHHUUUUUU

              vielen dank endlich gehts.

              Lg Galahad

              Kommentar


              • #8
                Hi

                hätte doch noch eine letzte Frage:

                Wie kehre ich die sache wieder um?
                Weil die html site interpretiert es automatisch ganz klar aber wenn ich den eintrag wieder in ein form auslese um ihn zu bearbeiten dann bleiben mir die <br> erhalten --> wie mache ich daraus wieder eine zeilenumbruch???

                Lg Galahad

                Kommentar


                • #9
                  naja. den weg, den wurzel dir gegeben hat, einfach umdrehen.

                  schaue dir die verwendeten funktionen an, und du wirst schlauer sein. und ein wenig eigeninitiative setzen wir mal voraus.
                  INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                  Kommentar


                  • #10
                    normalerweise wendet man die Funktion nl2br oder in deinem Fall str_replace(...) nur an, um Daten auszugeben. Gespeichert wird ganz normal wie eingetippt, also mit \n (und \r). Wenn du aber nun, alles schon mit <br> gespeichert hast dann hilf dir z.B. preg_replace zur Rückwandlung.

                    Kommentar


                    • #11
                      Mit str_replace drübergehen und "<br>" durch "\n" ersetzen. Genau umgekehrt eben.

                      Kommentar


                      • #12
                        Original geschrieben von asp2php
                        normalerweise wendet man die Funktion nl2br oder in deinem Fall str_replace(...) nur an, um Daten auszugeben. Gespeichert wird ganz normal wie eingetippt, also mit \n (und \r). Wenn du aber nun, alles schon mit <br> gespeichert hast dann hilf dir z.B. preg_replace zur Rückwandlung.
                        lies mal alles in dem thread. dann weisst du warum deine vorgeschlagene lösung ungültig ist ...
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar


                        • #13
                          Original geschrieben von kevin
                          Mit [...] Genau umgekehrt eben.
                          soviel zum thema eigeninitiative, wenn es immer wieder leute gibt, die nur vorsagen können.
                          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                          Kommentar


                          • #14
                            Original geschrieben von Abraxax
                            lies mal alles in dem thread. dann weisst du warum deine vorgeschlagene lösung ungültig ist ...
                            achwas hehe... hab nur den letzten Teil gelesen, war zu faul

                            Kommentar


                            • #15
                              Eh, ich habe keinen Code gepostet und zwar durchaus mit Absicht. Und wer zu blöd ist, sich anzuschauen, wie str_replace geht, kann mit meinem Hinweis dann immer noch nichts anfangen.

                              Kommentar

                              Lädt...
                              X