Ergebnis 1 bis 6 von 6

Thema: Leerzeilen aus Textarea zu <br>

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer
    Registriert seit
    11.01.2007
    Beiträge
    278

    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 :
    HTML-Code:
    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

  2. #2
    Probier mal nicht mit <br> sondern mit <p> und </p> zu arbeiten. Alles was dazwischen steht ist als Absatz definiert.

    Gruß

    EarlofMidnight
    Charmante-Lose / Mini-Zocker / ColaCodes4Lose
    Du brauchst Webspace für dein VMS--> PN

  3. #3
    Erfahrener Benutzer
    Registriert seit
    11.01.2007
    Beiträge
    278
    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 :

    Code:
    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:

    Code:
    TestTest
    Test
    Test
    Test
    Das ist das, was hinterher in dem PopUp steht.

    Oder hab ich mit dem <p> was falsch verstanden?^^

  4. #4
    Administrator Avatar von Lokutos
    Registriert seit
    29.03.2008
    Beiträge
    3.147
    schau dir doch mal im vms die texte zum bearbeiten im adminforce an
    da geht das ja auch

    PHP-Code:
    <?
    // 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();?>
    SwissNetWorX - VMS Hosting / V-Server / Cloud-Server / Hosting

  5. #5
    Erfahrener Benutzer Avatar von Gremlin
    Registriert seit
    05.07.2006
    Beiträge
    5.206
    nl2br in Javascript

    Code:
    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/techbl...or_phps_nl2br/
    Diskutiere nie mit Idioten - sie holen Dich auf ihr Niveau und schlagen Dich dort mit Erfahrung!



  6. #6
    Erfahrener Benutzer
    Registriert seit
    11.01.2007
    Beiträge
    278
    @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

Ähnliche Themen

  1. [SQL] Text von db in Textarea laden und ändern
    Von Everlast3310 im Forum [HD] Programmieren
    Antworten: 8
    Letzter Beitrag: 06.06.2015, 12:30

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •