Zeilenumbruch bei Usereingabe Enter

Headymaster

Erfahrenes Mitglied
Hallo!

Ich frage mich grad, wie man es machen könnte, dass wenn ein User in einer Textarea einen Text eingibt und durch drücken auf Enter einen Zeilenumbruch verursacht wird, dass dieser auch so als Zeilenumbruch in die Datenbank geschrieben wird und auch ausgelesen wird.

Würde mich auf jeden Fall über Hilfe freuen^^

Und habe auch mit der Suchfunktion gesucht aber nicht wirklich das gefunden was ich suche :)

MFG Niels
 
du must eigentlich einfach nur das eineben bei der Ausgabe des Textfeldes:
PHP:
echo nl2br($data["textfeld"]);


Erklärung des nl2br :
string nl2br (String str)

Konvertiert alle Zeilenumbrüche eines Strings zu <br>. Dadurch werden Zeilenumbrüche in HTML-Seiten visualisiert.



Hoffe die Erklärung ist für dich verständlich :)

mfg,
cille
 
Werden die Benutzereingaben nicht noch bearbeitet, werden die Zeilenumbruchzeichen auch mit in der Datenbank gespeichert. Ein Datenverlust wäre auch schlimm. Du sprichst wohl das Formatieren der Benutzereingabe, sodass die Zeilenumbrüche auch durch HTML-Zeilenumbrüche präsent sind. Denn Zeilenumbruchzeichen zählen als so genannter Leerraum (Whitespace) und werden in HTML ignoriert. Die nl2br()-Funktion wird dir dabei weiterhelfen.

Konvertiert alle Zeilenumbrüche eines Strings zu <br>.
Die Zeilenumbruchzeichen werden nicht ersetzt sondern nur durch HTML-Zeilenumbrüche ergänzt.
 
So der Zeilenumbruch geht wunderbar, aber irgendwie krieg ich des nicht mit weiteren BBCode in verbindung.

Mache das im moment so:

PHP:
<?php
// BB-Code erstellen
				 $gb_bb_norm = $gb_bb->bb_standard($_POST['inhalt']);   // [ b][ /b],[ i][ /i],[ u][ /u]
				 $gb_umbruch = $gb_bb->umbruch($gb_bb_norm);   // Zeilenumbruch
				 // Eintragen
                 $gbook->insert_entry($_POST['name'], $_POST['email'], $_POST['title'], $gb_bb_norm);
?>

So und die BBCode-Klasse sieht so aus:
PHP:
<?php
   class bbcode
   {
          //##########################################################################//
		  // 1. [ b]text[ /b] zu <b>text</b>                                            //
		  // 2. [ i]text[ /i] zu <i>text</i>                                            //
		  // 3. [ u]text[ /u] zu <u>text</u>                                            //
		  //##########################################################################//
          function bb_standard($text)
		  {
		     $bbcode = array('[ b]', '[ /b]', '[ i]', '[ /i]', '[ u]', '[ /u]');
             $replace = array('<b>', '</b>', '<i>', '</i>', '<u>', '</u>');
             $text = preg_replace($bbcode, $replace, $text);
             return($text);
		  }
		  
		  //##########################################################################//
		  // Wandelt die Zeilenumbrüche eines User in <br> um                         //
		  //##########################################################################//
		  function umbruch($text)
		  {
		     $text_umbruch = nl2br($text);
			 return $text_umbruch;
		  }
   }
?>

Mach ich irgendwie beim umwandeln was falsch?! Darf man die umbruch-funktion eigentlich mit weiteren BBCode in Verbindung bringen?

MFG Niels
 
Also ich versteh jez nicht ganz was du mir damit sagen willst.

Ich dachte preg_replace ersetzt nun die Zeichen in den beiden Arrays?!

Oh mann alles so kompliziert :P

MFG Niels
 
Lies doch die Funktion im Manual nach !
Das was du brauchst ist str_replace(), da du nur einfache Zeichenkombinationen ersetzen willst.

mfg
 
Jap jez klappt es... thx^^

Ähm gibt es vielleicht ein gutes Tutorial oder paar gute Texte zu BBcode und textformatierung....weil ich mich damit nun erstmal beschäftigen werde^^

Würde mich freuen :)
MFG Niels
 
Zurück