php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.03.2005, 08:22  
Gast
 
Beiträge: n/a
Standard Probleme mit Zeilenumbrüchen in Textarea

Hi

Ich habe ein kleines Problem mit meiner Textarea. Sie wird verwendet um Nachrichten User zu schicken, HTML soll verboten sein, aber die Zeileumbrüche sollen erhalten bleiben. Ich verwende im Moment dazu diesen Code:

Code:
$message=strip_tags($message);     
$message=nl2br($message);
Bei mir werden die Zeileumbrüche richtig dagestellt. Beim Blick auf den Quelltext sieht das dann so aus:

Blaa blubb blaa

blubb blaa blubb

Allerdings wirds bei einigen Browsern wie ich inzwischen anhand der Rückmeldungen erfahren habe das
auch genau so angezeigt und kein Zeilenumbruch generiert. Wie bekomme ich nun diesen / raus ?

Ein anderes Problem ist das Nachrichten nur leer ankommen wenn jemand das Hochkomma ' verwendet. Gibt es eiine Möglichkeit das auch rauszufiltern bzw. durch " zu ersetzen ?

Gruß

Der Elf
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 03.03.2005, 08:43  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

den browser der
nicht versteht musst du mir mal zeigen, würde mich wundern. was für ein doctype verwendest du denn? ist der rest vom html valide?

naja im allgemeinen vieleicht mal bissel mehr script hier posten. weil das wenn jemand ' verwendet das ganze nicht ankommt, würde mich doch wundern :P

mfg
robo47
robo47 ist offline  
Alt 03.03.2005, 08:50  
Gast
 
Beiträge: n/a
Standard

Ist leider aber so

Ich habe aber eine Lösung für mein Problem gefunden, nicht sehr elegant aber funktioniert:

Code:
$found=1;
while ($found==1) {
$found=0;
$pos=-1;
$pos = strpos($message,"'");
if ($pos>-1) {
$message[$pos]=" ";
$found=1;
}
}
Wie gesagt bei meinen Browsern die ich drauf habe funktioniert es überall, ich habe aber von 2-3 Benutzern meldungen bekommen das bei ihnen das so angezeigt wird. Aber auf die Weise wie ich oben das ' entferne kann ich ja auch das / entfernen.
 
Alt 03.03.2005, 09:13  
Erfahrener Benutzer
 
Registriert seit: 25.02.2004
Beiträge: 1.524
Orolhawion
Standard Re: Probleme mit Zeilenumbrüchen in Textarea

Zitat:
Zitat von Teilzeitelf
Allerdings wirds bei einigen Browsern wie ich inzwischen anhand der Rückmeldungen erfahren habe das
auch genau so angezeigt und kein Zeilenumbruch generiert. Wie bekomme ich nun diesen / raus ?
das soll man gar nicht entfernen, das ist nämlich html-konform, wie z.b. auch beim img-tag, den schließt man auch mit "/>" ab.. da stimmt irgendwas mit der syntax nicht bei dir..
__________________
"die Mitte des Textes kann ja theor. mitten in einem Text liegen"

http://www.jagr.de/
Orolhawion ist offline  
Alt 03.03.2005, 09:21  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

naja anstatt dem was du da verwendest, dann doch lieber str_replace() ist einfacher und bestimmt schneller und bitte noch antworten zu meinen anderen fragen, besonders doctype würde mich mal interessieren und dr browser der user die das problem haben, wenn du das in Erfahrung bringen kannst, weil mcih das ganz allgemein interessiert.

und zum thema aus

machen, das geht auch mit str_replace. und bitte mal konkreten code der speicherung der daten und des abrufens posten, würde mal sagen wenn du die daten in einer datenbank speicherst solltest du dir mal mysql_escape_string anschauen, weil du bei querys ja die ' escapen musst, schötze dass das dein problme ist. ausserdem schätze ich dass du nicht mit mysql_error() arbeitest, sonst hättest du deswegen ne fehlermeldung bekommen.


mfg
robo47
robo47 ist offline  
Alt 03.03.2005, 09:31  
Gast
 
Beiträge: n/a
Standard

Naja will jetzt nicht den ganzen Quellcode posten, da recht lang, aber ich sehe keine offensichtliche Fehler - und wie gesagt habe selber diesen Fehler auch noch nirgendwo gesehen. Durch mein kleines Ersetzungsscript ist aus dem
jetzt ein
geworden und das sollte keine Probleme machen. Meine ' Zeichen werden rausgelöscht. Das die nicht gespeichert wurden liegt denke ich mal am SQL.

beim Befehl mysql_query("INSERT into pns (von, nachricht....) values ('$von','$message',....)");

Ich denke das ' hat den Tag unterbochen so das dann da im enteffekt sowas wie:

... values ('testuser','test nachricht mit diesem ' hochkomma','....

und dabei ist der Fehler wohl entstanden.

Aber ist nun umgangen und somit ist das erledigt.


Ps.: Der Fehler scheint nur im Firefox aufzutreten. (ggf. auch Opera) Bei 2 von den Leuten weiß ich inzwischen das sind Firefox benutzen. Im meinem Mozilla und IE 6 gibts keine PRobleme.

Ps2.: Danke für den Tipp mit str_replace, ändere ich gleich entsprechend um.
 
Alt 03.03.2005, 09:45  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

wie gesagt bevor man usereingaben in die datenbank schreibt, immer mysql_escape_strings auf den string anweden. und einfach nur sie rauszulöschen ist nicht wirklcihe die sauberste lösung.

und ich wollte immernoch den doctype wissen, weil ich bezweifle dass der FF solche probs macht.

und bitte immer bei querys mysql_error() verwenden dann hättest du das problem schon früher erkannt.

mysql_query("INSERT into pns (von, nachricht....) values ('$von','$message',....)") or die (mysql_error());

mfg
robo47
robo47 ist offline  
Alt 03.03.2005, 09:58  
Gast
 
Beiträge: n/a
Standard

ok doctype ist nicht angeben *pfeif*
 
Alt 03.03.2005, 10:01  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

na dann :P
robo47 ist offline  
Alt 03.03.2005, 10:22  
Gast
 
Beiträge: n/a
Standard

Naja trotzdemnochmal danke für die Hilfe, hat mich nen Stück weiter gebracht
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Einfügen von Text in Textarea per JS louis HTML, Usability und Barrierefreiheit 5 07.07.2008 15:13
Datei in Textarea auslesen kampfnickel PHP Tipps 2006 21 24.11.2006 22:09
Textarea wird nicht richtig dargestellt nieselfriem PHP Tipps 2006 2 08.11.2006 11:31
Probleme bei Speicherung von serialize() Strings Manni2k PHP Tipps 2006 13 15.10.2006 15:06
Textarea Feld dynamisch vergrößern und verkleinern? php_frage HTML, Usability und Barrierefreiheit 5 25.04.2006 08:42
Textarea Übergabe Problem danysahne333 PHP Tipps 2006 6 14.03.2006 13:46
[Erledigt] Länge einer textarea ohne Leerzeichen PHP Tipps 2005-2 4 30.06.2005 15:59
Text per Klick in Textarea einfügen Abhängig von Radiobutton 18inch HTML, Usability und Barrierefreiheit 1 09.05.2005 11:22
textarea als mail verschicken PHP Tipps 2005 9 22.03.2005 21:29
textarea Problem andrew22 PHP Tipps 2005 9 16.03.2005 15:54
Textarea ... Tschuu HTML, Usability und Barrierefreiheit 2 03.01.2005 14:13
[Erledigt] Technische Probleme mit Sessions PHP-Fortgeschrittene 4 18.11.2004 14:45
textarea? Creativ PHP Tipps 2004-2 1 06.11.2004 12:10
[Erledigt] Probleme beim ausrichten von Textarea & Button HTML, Usability und Barrierefreiheit 2 27.07.2004 14:17
mal wieder textarea ;) HTML, Usability und Barrierefreiheit 2 14.07.2004 08:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php zeilenumbruch in textarea wird nicht erkannt, textarea zeilenumbruch serialisieren, php rückmeldung für textarea, zend textarea, zeilenumbruch zend textarea, textarea zeilenumbruch im ie nicht erkannt, php zend textarea zur eingabe von html, \datei in textarea\ zeilenumbruch ie, textarea anführungszeichen verbieten

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:01 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.