Benno: PHP-MySQL Upload - Zeilenschaltung durch <br> ersetzen

Hallo miteinander!

Ich habe ein kleines Problem bei einem Projekt. Via Formular lade ich Datensätze auf eine MySQL-Datenbank hoch.

Hier meine 2 Fragen?

1. Wie kann ich eine Zeilenschaltung im Formular (textarea) in der Datenbank durch ein <br> ersetzen?

2. Bildupload: Dateinamen mit einem Leerzeichen werden von der Datenbank nur bis zum Leerzeichen gespeichert. Wie kann ich das Leerzeichen durch %20 ersetzen?

Besten Dank im Voraus!

Gruß Benno

  1. Hallo,

    1. Wie kann ich eine Zeilenschaltung im Formular (textarea) in der Datenbank durch ein <br> ersetzen?

    http://www.php.net/manual/de/function.nl2br.php

    Wie kann ich das Leerzeichen durch %20 ersetzen?

    http://www.php.net/manual/de/ref.strings.php
      http://www.php.net/manual/de/function.substr-replace.php
      http://www.php.net/manual/de/function.strtr.php
      http://www.php.net/manual/de/function.str-replace.php

  2. hi,

    1. Bildupload: Dateinamen mit einem Leerzeichen werden von der Datenbank nur bis zum Leerzeichen gespeichert.

    glaube ich nicht.
    warum sollte _die DB_ mit leerzeichen in strings probleme haben?

    eher wahrscheinlich scheint mir, dass du dir diese probleme bei der anschliessenden ausgabe des dateinamens selber erzeugst (z.b. den pfad in einem image-tag hinter src= zu schreiben, ohne den wert in anführungszeichen einzukleiden) ...

    gruss,
    wahsaga

  3. hi Benno,

    1. Wie kann ich eine Zeilenschaltung im Formular (textarea) in der Datenbank durch ein <br> ersetzen?

    $text = ereg_replace("\n","<br />",$text);

    Hierbei wird die Variable $text durchsucht und eine Zeilenschaltung durch ein <br> ersetzt.

    1. Bildupload: Dateinamen mit einem Leerzeichen werden von der Datenbank nur bis zum Leerzeichen gespeichert. Wie kann ich das Leerzeichen durch %20 ersetzen?

    Hier müsste ich dein Script sehen. Das kann viele Ursachen haben! Grundsätzlich kannst du die Datei umbenennen indem du gleich beim Upload den Dateinamen per Variable abfängst und veränderst. Damit verhinderst du, dass "falsche Dateinamen" in die Datenbank kommen.

  4. Hallo Benno, diese Frage hatte ich auch einmal. Die freundliche Antwort, die auch einwandfrei funktionierte, war:

    $text_neu = ereg_replace("\015\012|\015|\012","<BR>",$text);

    Viel glück, martin