Zeilenumbrüche bleiben erhalten

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

  • Zeilenumbrüche bleiben erhalten

    Hi,

    ich hab folgendes Problem. Wenn ich durch eine Inputbox einen Benutzereintrag übernehme und dann folgende Funktionen drüberlaufen lasse

    PHP-Code:
    $eintrag=htmlspecialchars($eintrag);
    $eintrag=nl2br($eintrag);
    $eintrag=str_replace("\n","",$eintrag); 
    und ihn dann mit dem write Befehl speicher werden in der Datei immernoch die Zeilenumbrüche in Form von kleinen Vierecken gespeichert. Dies geschieht obwohl sie mit
    PHP-Code:
    strpos($eintrag"\n"); 
    nicht mehr auffindbar sind.

    Weiss jemand Rat wie ich diese Zeilenumbrüche wegbekomme?

  • #2
    Im Zweifel handelt es sich bei den Quadraten nicht um das Linefeed (\n) sondern um das von einigen Betriebssystemen verwendete CariageReturn (\r) ... also solltest Du dieses auch noch löschen ...
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      Jo das wars! Kannst du mir vieleicht mal eben erklären was das für ein Zeichen ist?

      Danke

      Kommentar


      • #4
        Original geschrieben von Vacant
        Jo das wars! Kannst du mir vieleicht mal eben erklären was das für ein Zeichen ist?
        hat er doch schon.

        \r
        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


        • #5
          Original geschrieben von Abraxax
          hat er doch schon.

          \r
          \r ist mir nicht grade intuitiv eingängig... Ich weiss auch nicht was ein cariage return ist. Meine Frage bezog sich ehr darauf... Ich hätte das Problem ja wohl nicht lösen können, wenn ich nicht bis zum "\r" gelesen hätte.

          Kommentar


          • #6
            hmm,

            wagen-rücklauf fällt mir da ein, obwohl, wagen?, naja, zumindest bedeutet es, daß du zum anfang der zeile zurückkehrst, afaik.'
            Die Zeit hat ihre Kinder längst gefressen

            Kommentar


            • #7
              Original geschrieben von Vacant
              \r ist mir nicht grade intuitiv eingängig...
              wieso nicht. goth schreibt den begriff und in klammern das zeichen. was ist daran nicht intuitiv. aber naja.....


              Original geschrieben von derHund
              wagen-rücklauf fällt mir da ein, obwohl, wagen?, naja, zumindest bedeutet es, daß du zum anfang der zeile zurückkehrst, afaik.'
              richtig. das ganze ist historisch durch die alten 'schreibmaschinen'. dort gab es mal so einen hebel, der den wagen wieder zurück auf den zeilenanfang setzen konnte.

              auch hilft immer wieder ein blick in ein wörterbuch.
              http://dict.leo.org/?search=carriage+return
              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


              • #8
                Genau ... zumindest fast ... in der Alten DOS-Welt (Ende des letzten Jahrtausends) gab es die Möglichkeit über diese Zeichen so genannte Zeilendrucker anzusprechen ...

                Das Zeichen \r oder CR (0x0D) diente dazu den Druckkopf an den Anfang der Druckzeile zurück zu führen ...

                ... während das Zeichen \n oder LF (0x0A) den Druckkopf in die nächste Zeile bewegte (genau genommen wurde die Druckerwalze um eine Zeile weiter bewegt) ...

                Im allgemeinen wurden diese beiden Zeichen in Kombination verwendet das es meistens keinen Sinn macht den Druckkopf an den Anfang der Zeile zu bewegen, da man auf diesem Wege nur einen sehr schmalen bereich des Papiers, allerdings sehr intensiv, mit Tinte tränken würde.

                Einige Betriebssysteme (und auch Internet Übertragungsprotokolle) verwenden daher bis heute die Kombination \r\n oder CRLF.

                Andere (z.B. Unix und MacOS) kommen mit einem \n oder \r alleine aus.

                So weit der Excurs in die Welt der ESC - Sequencen (ESC = Epson Standard Codes und nicht Escape obwohl diese sehr häufig von einem Escape Zeichen (0x1B) eingeleitet wurden.) und die Zeit lange vor der Erfindung von Laserdruckern und Weißbrot ...
                carpe noctem

                [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                Kommentar

                Lädt...
                X