| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
Geiseltaler Mitglied

|
Textarea - Zeilenumbruch mit entertaste verhindern |
|
|
Hallo liebe Netzgemeinde,
bei unserem Webradio habe ich eine Wunschbox mit einem einzeiligen Textfeld "Name" und einem mehrzeiligen Textarea für Wünsche.
Funktioniert soweit prima, bis auf folgendes Problem.
Wenn jemand in dem Textarea einen Zeilenumbruch mit der "ENTER" Taste eingibt, dann haut es mir die gesamte Textdatei in der die Wünsche gespeichert werden durcheinander.
Heißt auf deutsch, normal kommt pro Wunsch eine Zeile in die Textdatei, die ich dann wieder Zeilenweise im Adminbereich auslese.
Mit einem Enter-Umbruch wird dieser Eintrag mehrzeilig.
Und da liegt der Hund begraben damit funktioniert dann kein Auslesen und keine Löschfunktion mehr.
Meine Frage: Wie kann ich im Textarea einen Zeilenumbruch mit Enter verhindern, oder über PHP diese Umbrüche als "-" oder ähnliches ausgeben?
Mit folgendem Code funktioniert es nicht (leider):
| Code: | if (!empty($Name) && !empty($Wunsch)){
// Wunsch filtern
$Wunsch = strip_tags($Wunsch);
$Wunsch = htmlentities($Wunsch);
$Wunsch = stripslashes($Wunsch);
$Wunsch = stripcslashes($Wunsch);
$Wunsch = trim($Wunsch);
$Wunsch = str_replace("\\r", "", $Wunsch);
$Wunsch = str_replace("\\n", "", $Wunsch);
$Wunsch = str_replace("|", "", $Wunsch);
$Name = htmlentities($Name);
$Name = strip_tags($Name);
$Name = str_replace("|", "", $Name);
|
hier das Formular:
| Code: |
<input type="text" size="20" name="Name" id=Name class=eingabe title="Name" value="Name" onFocus="if(this.value=='Name'){ this.value='';}" onBlur="if(this.value==''){this.value='Name'}"><br>
<textarea cols=14 rows=4 name=Wunsch title=Wunsch id=Wunsch class=textfeld onFocus="if(this.value=='Wunsch'){ this.value='';}" onBlur="if(this.value==''){this.value='Wunsch'}">Wunsch</textarea><br>
<input type="submit" value="Ab die Post" class=buttonbox>
|
Vielleicht hat hier wie immer mal wieder einer einen guten Rat für mich.
Vielen Dank im Voraus
Mario |
_________________
http://www.im-geiseltal.de
oder:
http://www.homepage.familie-pforte.de
Ich frage was ich nicht weiß, auch wenn die Fragen nicht immer bequem sind. Denn es gibt doch keine dummen Fragen ....! |
|
|
| 01 Feb 2010 15:26 |
|
  |
Forrest Gumb Mitglied

|
 |
|
|
Übergib doch ein Steuerzeichen mit in die Text-Datei. z.B. ein " | " .
Daran kannst Du Dein Array ausrichten.
Die Eingabe überprüfst Du ob das Zeichen vorhanden ist und ersetzt es mit einem Komma oder so. In die Text Datei lässt Du an letzter Stelle immer das Steuerzeichen mit einschreiben.
Beim Auslesen teilst Du die Textdatei mit Hilfe von explode() wieder in ihre Bestandteile. |
_________________ 4rest
Wende Dein Gesicht ins Licht, dann werden die Schatten hinter Dir sein.
[ forrest ] - [ more ] |
|
|
| 01 Feb 2010 18:12 |
|
 |
Werner Homepage-Total.de Moderator

|
 |
|
|
In str_replace ist ein kleiner Fehler, ein Backslash "\" (Rückstrich) ist da zuviel.
Verwende: | PHP-Code: | 1 2
| $Wunsch = str_replace("\r", "", $Wunsch);
$Wunsch = str_replace("\n", "", $Wunsch); |
oder besser:
| PHP-Code: | 1
| $Wunsch = str_replace(array("\r", "\n", "|"), "", $Wunsch); |
|
_________________ Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt |
|
|
| 02 Feb 2010 08:04 |
|
 |
Geiseltaler Mitglied

|
 |
|
|
hallo ihr beiden,
danke für die schnellen antworten. Mit der 2.Zeile von Werners Vorschlag hat´s geklappt. Hatte da wohl den "\\" übersehen.
Danke nochmals
Mario |
_________________
http://www.im-geiseltal.de
oder:
http://www.homepage.familie-pforte.de
Ich frage was ich nicht weiß, auch wenn die Fragen nicht immer bequem sind. Denn es gibt doch keine dummen Fragen ....! |
|
|
| 02 Feb 2010 16:47 |
|
 |
|