Archiv verlassen und diese Seite im Standarddesign anzeigen : [HTML/CSS/JS] Leerzeilen aus Textarea zu <br>
Hallo,
ich sitze seit Stunden an einem Problem. Ich habe auf einer Seite ein Formular mit einer textarea. In dieser textarea gebe ich nun Text ein und möchte, das dieser Text, wenn ich einen Link unter der Textbox klicke, in einem neuen PopUp-Fenster angezeigt wird.
Dazu lese ich erstmal das Textfeld vom PopUp aus mit parent.opener ein. Soweit auch kein Problem. Das Fenster geht auf und der Text wird angezeigt. Auch Zeilenumbrüche habe ich (zumindest versucht) mit replace durch <br> ersetzt. Aber irgendwie funktioniert das nur, wenn in einer Zeile auch Text steht. Wenn ich 2 Leerzeilen zwischen 2 Absätze reinmache interessiert das das Script irgendwie nicht und er schreibt die beiden Absätze direkt untereinander.
Ich bearbeite den String folgendermassen :
var text2 = text.replace(/\r\n/g, "\n");
var text3 = text2.replace(/\n\r/g, "\n");
var text4 = text3.replace(/<br>\n/g, "\n");
var text5 = text4.replace(/[^>]\n/g, '<br>');
Eigentlich müßte das doch hinhauen oder? Ich habe mittlerweile etliche Kombinationen probiert und ohne Hilfe komm ich da glaub ich nicht weiter. Javascript ist nicht gerade mein Spezialgebiet.
Gruß
Marco
EarlofMidnight
21.11.2008, 13:47
Probier mal nicht mit <br> sondern mit <p> und </p> zu arbeiten. Alles was dazwischen steht ist als Absatz definiert.
Gruß
EarlofMidnight
Mit <p>?
Also ich möchte wie gesagt, das das Javascript Leerzeilen aus dem Eingabeformular erkennt und dann durch <br> ersetzt. Ich mein, klar, könnte man das auch durch <p> ersetzen, aber es geht ja erstmal darum, das die leerzeilen mit übernommen werden.
Ich gebe Beispielsweise folgenden Text in dem Textfeld auf der Seite ein :
TestTest
Test
Test
Test
Unter dem Textfeld ist ein Link. Wenn ich den klicke öffnet sich ein neues zunächst leeres PopUp-Fenster in dem der Inhalt des Textfeldes ausgelesen werden soll und in dem leeren Popup zeilenformatiert wieder ausgegeben werden soll. Die Zeilenumbrüche aus dem Textfeld wird in den Zeilen, wo auch Text steht, ordnungsgemäß umgewandelt. Aber halt die Leerzeilen nicht:
TestTest
Test
Test
Test
Das ist das, was hinterher in dem PopUp steht.
Oder hab ich mit dem <p> was falsch verstanden?^^
schau dir doch mal im vms die texte zum bearbeiten im adminforce an
da geht das ja auch
<?
// Variabeln
$filename = '../lib/texte/aktivralley.txt';
if (!isset($_POST['updaten'])) $_POST['updaten'] = '';
if (!isset($_POST['text'])) $_POST['text'] = '';
// Datei schreiben
if ($_POST['updaten'] == 'Updaten !') {
$_POST['text'] = str_replace('\\', '', $_POST['text']);
$fp = fopen ($filename, "w");
fwrite ($fp, $_POST['text']);
fclose ($fp);
}
// Datei auslesen
$fp = fopen ($filename, "r");
$inhalt = @fread ($fp, filesize ($filename));
fclose ($fp);
$inhalt = str_replace('\\', '', $inhalt);
?>
<?head("Aktivralleyeinleitung bearbeiten (html erlaubt!)");?>
<div align="center">
<form action="" method="post">
<textarea name="text" style="width:500px; height:300px;"><?=$inhalt;?></textarea><br>
<input type="Submit" name="updaten" value="Updaten !">
</form>
</div>
<?foot();?>
nl2br in Javascript
function nl2br (str, is_xhtml) {
// http://kevin.vanzonneveld.net
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: Philip Peterson
// + improved by: Onno Marsman
// + improved by: Atli Þór
// + bugfixed by: Onno Marsman
// * example 1: nl2br('Kevin\nvan\nZonneveld');
// * returns 1: 'Kevin<br />\nvan<br />\nZonneveld'
// * example 2: nl2br("\nOne\nTwo\n\nThree\n", false);
// * returns 2: '<br>\nOne<br>\nTwo<br>\n<br>\nThree<br>\n'
// * example 3: nl2br("\nOne\nTwo\n\nThree\n", true);
// * returns 3: '<br />\nOne<br />\nTwo<br />\n<br />\nThree<br />\n'
breakTag = '<br />';
if (typeof is_xhtml != 'undefined' && !is_xhtml) {
breakTag = '<br>';
}
return (str + '').replace(/([^>]?)\n/g, '$1'+ breakTag +'\n');
}
http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_nl2br/
@Joschi: Danke, aber das hier ist Javascript. Das hat leider rein gar nichts mit der Übergabe von $_GET oder $_POST-Variablen zu tun. Sonst wär´s ja auch zu einfach^^
@gremlin: Den Code, sowie einige andere, hab ich auf meiner Suche auch schon gefunden. Bewirkt aber leider auch nur das, was ich jetzt schon habe.
Ich kann ja mal den Quelltext posten, soweit ich ihn bis jetzt habe:
*EDIT* Hat sich gerade erledigt. Ich hab´s hinbekommen. In den vars text - text4 ist ein Syntax-Fehler gewesen. Au mann!
Trtzdem Danke für eure Hilfe
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.