Frage

Ich habe ein Formular mit einem <textarea> und ich möchte in diesem Textfeld auf der Server-Seite alle Zeilenumbrüche erfassen, und ersetzen Sie sie mit einem <br/>.

Ist das möglich?

Ich habe versucht Einstellung white-space:pre auf dem textarea CSS, aber es ist noch nicht genug.

War es hilfreich?

Lösung

Haben Sie einen Blick auf die nl2br() Funktion. Es sollte genau das tun, was Sie wollen.

Andere Tipps

Die nl2br() Funktion zu tun gibt es genau das:

Allerdings, fügt die Funktion Tags br entfernt aber nicht wirklich die neuen Linien - das ist in der Regel kein Problem, aber wenn man sie vollständig wollen abzustreifen und fangen Wagen zurückkehrt auch, sollten Sie eine str_replace oder preg_replace

ich denke, str_replace würde etwas schneller sein, aber ich habe nicht gebenchmarkt;

$val = str_replace( array("\n","\r","\r\n"), '<br />', $val );

oder

$val = preg_replace( "#\n|\r|\r\n#", '<br />', $val );

Wenn Sie vorhaben, str_replace oder preg_replace zu verwenden, sollten Sie vielleicht die "\r\n" am Anfang des Arrays, da er andernfalls eine \r\n Sequenz in zwei <br/> Tags übersetzt werden (da die \r abgestimmt wird, und dann die \n abgestimmt werden).

Beispiel:

$val = str_replace( array("\r\n", "\n","\r"), '<br />', $val );

oder

$val = preg_replace( "#\r\n|\n|\r#", '<br />', $val );

Für die, eine Antwort zu wollen, die nicht auf nl2br() angewiesen ist:

$newList = ereg_replace( "\n",'|', $_POST['theTextareaContents']);

oder (in diesem Fall):

$newList = ereg_replace( "\n",'<br/>', $_POST['theTextareaContents']);

PHP Seite: von Textarea String in PHP-String

$newList = ereg_replace( "\n",'|', $_POST['theTextareaContents']);

PHP Seite: PHP-String zurück zu TextArea- string:

$list = str_replace('|', '&#13;&#10;', $r['db_field_name']);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top