str_replace() und trim() aber wie ???

  • Hallo zusammen,


    ich bin neu hier bei euch und verzweifle gerade an einer Studienaufgabe.
    Wir sollen ein einfaches Forum basteln mit Textarea für die Nachricht und Textfeld für den Namen des Verfassers.
    Die Eingaben werden dann in einer normalen Txt-Datei gespeichert und ausgelesen.


    Jetzt sollen wir die Zeilenumbrüche aus der Textarea mit der Funktion str_replace() entfernen, weil Sie die Struktur der Txt-Datei durcheinanderbringen.
    Pro Beitrag sind nämlich nur 2 Zeilen (durch einen Zeilenumbruch getrennt) vorgesehen.


    Ich poste mal den Quellcode der beiden Dateien:


    Dies ist quasi die index.php in der alle weiteren Funktionen eingebunden werden.



    Und in dieser Datei stehen dann die ganzen Funktionen.


    Diese Programmzeile ist vorgegeben und soll verwendet werden --- $text_ohne_nl = str_replace ("\n", "",$_REQUEST['text']);
    Und auf die Variable $text_ohne_nl soll noch die Funktion trim() angewendet werden, damit die Leerzeichen am Anfang und Ende entfernt werden.



    Habe die Funktionen schon versucht einzubauen, aber irgendwie klappt das nicht....
    Denn nun springen meine gemachten eingaben hin und her.
    Wenn ich bspw.
    Hallo ihr alle ---- im Textfeld eingebe und
    ich ---- beim Namen.....


    erscheint als Ausgabe, die ja direkt unterhalt des Formulars ist....


    Nachricht: Halloihralleich
    Name: KOMMT GAR NICHTS


    beim zweiten Versuch dann dasselbe. Nur anders ..bspw.


    Nachricht: Halloihralleichwiederich
    Name: zweitenachricht


    Blicke da nimmer durch...hoffe mir kann jemand helfen und ich habe niemanden überrumpelt ;(


    Mit freundlichem Gruß


    Kadey

  • Hi Kadey,


    ohne dass ich jetzt deinen Quellcode angesehen habe :) (ist natürlich fahrlässig und könnte es noch komplizierter machen ;)


    Problem an der Geschichte mit \n ist, dass das nur die halbe Wahrheit ist. Siehe <!-- m --><a class="postlink" href="http://de.wikipedia.org/wiki/Zeilenumbruch">http://de.wikipedia.org/wiki/Zeilenumbruch</a><!-- m -->
    Escape-Sequenz/ Betriebssystem
    \n bei Unix, Linux, Mac OS X, AmigaOS, BSD, weitere
    \r\n bei Windows, DOS, OS/2, CP/M, TOS (Atari)
    \r bei Mac OS bis Version 9, Apple II


    Probier doch mal die wunderschöne PHP-Funktion nl2br ( <!-- m --><a class="postlink" href="http://php.net/manual/de/function.nl2br.php">http://php.net/manual/de/function.nl2br.php</a><!-- m --> ) - somit hast du sauber <br> und die kannst du ja dann per str_replace ersetzen lassen.


    Das nur als Gedanke (ohne jetzt etwas probiert zu haben) - aber das ist ein beliebter Fehler :)
    Also alles ohne Gewehr (und Jäger)



    ----


    ergänzend (doch kurz ein wenig in deinen Quellcode geschaut :)


    das steht bei dir

    Code
    $text_ohne_nl = str_replace("\n","",$_REQUEST['text']);
        $text_ohne_nl = trim ($_REQUEST['text']);


    sollte eigentlich sein:

    Code
    $text_ohne_nl = str_replace("\n","",$_REQUEST['text']);
        $text_ohne_nl = trim ($text_ohne_nl);
  • Hallo Axel,


    vielen Dank für die Antwort. Diese Sache mit den ganzen Betriebssystemen habe ich auch schon mal gelesen und auch schon einiges von der Funktion nl2br
    Leider ist es ja ne Studienaufgabe bei einem Fernlehrgang und da müssen wir uns an die Vorgaben halten.


    Meine Funktion trim() habe ich jetzt mit der richtigen Variable gefüllt....Fehler einsehen..ist ja logisch :)


    Was meine beiden geforderten Funktionen machen ist mir ja bewusst, habe nur das Problem, das ich nicht weis, wo ich diese im Script einbauen soll.
    In meiner Aufgabe steht, bevor die Nachricht in die TXT-Datei geschrieben wird.....OK.....
    Habe die Funktionen dann nach dieser Codezeile eingefügt.

    $dh = fopen($datei, "a");
    ....
    ....
    ...


    Funktioniert nur nicht, so wie es soll...
    Irgendwo ist der noch der Wurm drin ;(

  • Zitat von &quot;Kadey&quot;

    Funktioniert nur nicht, so wie es soll...
    Irgendwo ist der noch der Wurm drin ;(


    Das ist nicht wirklich hilfreich, was funktioniert bereits, was nicht, wie ist die Ausgabe, gibt es Fehlermeldungen oder Ähnliches?


    Einfach jetzt alle Zeichen da überprüfen ist für uns etwas schwierig.

Jetzt mitmachen!

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