Serhan Sari: Zeichenketten auf Zeilenumbrüche durchsuchen

Ich erzeuge ASP-Seiten, deren Inhalt aus einer Datenbank stammen. Mein Problem nun: Die Ausgabe des Textes erfolgt in einer Tabellenzelle (border=0). Der Browser setzt den Text aus der DB so in die Zelle hinein, wie Platz vorhanden ist.
Ich möchte diesen Inhalt der Zelle vor dem AUsgeben im Browser auf Zeilenumbrüche untersuchen, und diese dann mit <br> ersetzen. Bloß wie? Kann mir bitte jemand weiterhelfen?!?!

  1. Ich erzeuge ASP-Seiten, deren Inhalt aus einer Datenbank stammen. Mein Problem nun: Die Ausgabe des Textes erfolgt in einer Tabellenzelle (border=0). Der Browser setzt den Text aus der DB so in die Zelle hinein, wie Platz vorhanden ist.
    Ich möchte diesen Inhalt der Zelle vor dem AUsgeben im Browser auf Zeilenumbrüche untersuchen, und diese dann mit

    »»  ersetzen. Bloß wie? Kann mir bitte jemand weiterhelfen?!?!

    Für mein Forum hab ich mal diese geschrieben

    <textarea name="Comment" rows="10" cols="65" wrap="off"
        ><%s= messages("comment")        
          while Instr(s, chr(13)) <> 0
                   s2= Left(s, Instr(s, chr(13)))
             response.write ">"& s2  
          s = right (s, Len(s) - Instr(s,chr(10)) )  
          wend
          response.write ">" & s
        %>

    liest den Commentstring aus der Datenbank aus und
    stellt jeder Zele ein ">" davor .
    Da du ja selbst mit ASP arbeitest müssteste das hoffentlich
    entsprechend deinen Wünschen ändern können.

    gruss
    Jens

    1. Hallo!

      Ich möchte diesen Inhalt der Zelle vor dem AUsgeben im Browser auf Zeilenumbrüche untersuchen, und diese dann mit
      »»  ersetzen. Bloß wie? Kann mir bitte jemand weiterhelfen?!?!

      Für mein Forum hab ich mal diese geschrieben

      [...(der Code)]

      Ja, geht aber einfacher. Zum Glueck bietet ASP naemlich die Replace-Funktion:

      s = Replace(s, chr(10), "<BR>")

      Wandelt alle Linefeeds in s in <BR> um. Da Zeilenumbrueche manchmal als chr(13)+chr(10), manchmal aber nur als chr(10) gespeichert werden (auch in Windows world), entferne ich eventuelle 13er lieber vorher und habe dann garantiert nur noch 10er drin:

      s = Replace(s, chr(13), "")

      Dann sollte man aber moeglichst noch Umlaute in die entsprechenden HTML-Zeichen umsetzen. Dafuer bietet ASP auch eine eigene Funktion (Methode des Server-Objektes):

      s = Server.HTMLEncode(s)

      Was Dein Forum betrifft Jens, kannst Du die > am Anfang der Zeile einfach durch

      s = Replace(s, chr(10), "<BR>>")

      erreichen.

      Hoffe das hilft. Jetzt aendere ich mal noch den Threadtitel (hat nicht viel mit JS zu tun) ;-)

      Calocybe

      1. Ich noch mal.

        Eines ist mir noch eingefallen. Wenn man aus der Datenbank einen NULL-Wert ausliest, bringt server.htmlencode eine Fehlermeldung. Deshalb hatte ich mir mal folgende Funktion geschrieben:

        function html(s)
                if (isnull(s)) then html = "" else html = Server.HTMLEncode(s)
            end function

        Schoenes Wochenende (heut abend soll's ja regnen), ich geh' jetzt offline.

        Calocybe