text in einer Zeile schreiben
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
befehl
eintrag
funktion
gieren
info
kodierung
laufzeit
manual
script
standard
subjekt
tabelle
window
zeile
zeilenumbruch
-
Hallo, ich plane ein script, dass ein eintrag in eine DB-Tabelle vornimmt,
dazu ist es aber aus abfragegr?ngen wichtig, dass der Text vor dem Eintrag in die DB in einer Zeile steht.
Der Text steht in einem Textarea-Feld mit dem Namen "text"
Zeilenumbr?che sollen durch <br> erstezt werden, Anf?hrungszeichen (" + ') Sollen entfernt werden.
Sodass der Text am Ende in einer Zeile steht. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Zeilenumbr?che:
http://de.php.net/manual/de/fucntion.nl2br.php
nl2br() d?rfte der simpelste Weg sein, wenn man nicht auf regul?re Ausdr?cke zur?ckgreifen will.
Wenn das nicht funktionieren sollte, weil die Zeilenumbr?che aus irgendeinem Grund anders sind, als der Standard-PHP-Zeilenumbruch, dann kann man sich mit einem PCRE weiterhelfen:
$ohne = preg_replace('/(\n|\r|\r\n)/', '<br />', $mit);
Die Gier von PCRE sorgt daf?r, dass DOS/Windoze-Zeilenumbr?che zuerst "erkannt" werden, wenn sie entdeckt werden.
?bliche Arten von Zeilenumbruch-Kodierungen:
"\n" Linux, Unix und alle vern?nftigen Betriebssysteme;
"\r" Apple
"\r\n" MS-DOS und Windoze
Die ereg_...-Funktionen von PHP sollten nicht mehr benutzt werden -- so steht es im PHP-Manual. Die preg_...-Funktionen sind ca. 3-mal so schnell und daher die erste Wahl, au?er man will unbedingt mit uralten PHP3-Scripts kompatibel bleiben.
http://de.php.net/manual/de/ref.regex.php
http://de.php.net/manual/de/ref.pcre.php
Anf?hrungszeichen:
$ohne = preg_replace('/[\x22\x27]/', '', $mit);
-
Du brauchst daf?r keine ereg-Funktion. Mach es damit, das d?rfte zur Laufzeit auch etwas schneller sein.
$subjekt = str_replace(array("\n","\"","'"),array("<br>","",""),$subjekt);
Also, ich habe das mal gemacht.
ging auch.
er hat <br> eingef?gt, aber er tr?gt dies immernoch mehrzeilig ein -
Logisch.
So wie es aussieht, hat dein Text Windows-Zeilenumbr?che. Das St?ck Quellcode mit str_replace() entfernt also von einem "\r\n" das "\n" und ersetzt es durch "<br />". So kommt "\r<br />" raus. Das ?briggebliebene "\r" wird dann gerne als Zeilenumbruch interpretiert. Also ?ndere den Suchstring von "\n" zu "\r\n" oder benutze meine L?sung. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage