Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs

HTML zu ASP konvertieren

Geschrieben von: Christian Holm
Kategorie: ASP Grundlagen

This printed page brought to you by AlphaSierraPapa

In diesem Artikel zeige ich Ihnen eine einfache Methode HTML-formatierten Text ASP tauglich zu machen. Das Script, welches ich Ihnen präsentieren werde besteht aus einem Online Interface, in dem Sie den HTML Code einfügen, und ihn dann mit einem Mausklick konvertieren können.

Wer sich's noch nicht vorstellen kann - wir wollen Code wie diesen

<b>AspHeute ist toll</b><br>
...

in folgendes umzuwandeln:

Response.Write "<b>AspHeute ist toll</b><br>"

Damit werden existierende HTML Dateien in ASP schnell "einsetzbar" - als Ansammlung von Response.Write Statements.

Die Durchführung

Zur Implementierung gibt es zwei Wege: der übliche eines einfachen HTML Formulars und serverseitiger Logik, oder der schnellere einer vollständig client-seitigen Lösung. Um zu demonstrieren, daß der Server nicht immer in einer guten Lösung beteiligt sein muß, "treiben" wir uns heute nur am Client herum.

Wir schreiben nun ein HTML Formular, das im Prinzip nur aus zwei Textfeldern - ein Eingabefeld für den HTML Code, und ein zweites für den erstellten ASP Code - besteht. Zur zu implementierenden Script-Logik gibt es nur folgendes zu sagen: im VBScript-Block müssen wir lediglich die Anführungszeichen verdoppeln und am Zeilenanfang jeder Zeile Response.Write samt Anführungszeichen einfügen - so einfach macht man HTML ASP-tauglich.

Bevor wir den Sourcecode besprechen, möchte ich Ihnen vorerst einen Screenshot des Ausgangszustandes präsentieren:

Der Sourcecode

Da das interessante der Script Sourcecode ist, widmen wir uns zuerst diesem:

...
<SCRIPT LANGUAGE="VBScript">

  Sub btnConvert_OnClick

    Dim strText, strNew, Form01, strOut
    Set Form01 = Document.forms("InputForm")
  
   
    strText = Form01.txtText.Value

    strNew = Replace(strText, """","""""")
    
    strNew = Replace(strNew, vbCrlf, """" & vbCrlf & "Response.Write """)
    strOut = "Response.Write """ & strNew & """" 
    Form01.txtOutput.Value = strOut

    MsgBox "Conversion Done!",vbInformation

  End Sub


</SCRIPT>

Zuerst übernehmen wir die Benutzer-Eingabe aus dem Textfeld, welches als <textarea> ausgeführt wurde, und speichern den Inhalt in der String-Variable strText. Danach verdoppeln wir die Anführungszeichen in eventuell vorhandenen HTML-Tags, um Problemen beim Rendern des ASP Codes zu entgehen. Für die Durchführung habe ich die VBScript Funktion Replace verwendet, die standardmäßig wie folgt definiert ist:

Replace(Ausdruck, String1, String2[, Start[, Anzahl[, Vergleichsart]]])

Ausdruck ist der String, der zur Ersetzung herangezogen werden soll. Nach String1 soll gesucht werden und mit String2 ersetzt werden. Optional kann man Start angeben, womit man die Position festlegt, ab der gesucht werden soll.

Ebenfalls optional sind Anzahl und Vergleichsart; Anzahl definiert, wie oft die Stringersetzungen stattfinden sollen und Vergleichsart gibt an, ob der Vergeich auf binärer oder textueller Basis stattfinden soll.

Nachdem der HTML Code konvertiert wurde, schreiben wir das Ergebnis in das Ausgabetextfeld. Der nachfolgende Screenshot zeigt das Resultat basierend auf dem ersten Screenshot, in welchem ich zwecks Demonstration einfachen HTML formatierten Text eingfügt habe. Nach dem Klicken des mit Convert bezeichneten Button erhalten wir die Ausgabe, die der nun folgende Screenshot zeigt:

Widmen wir uns nun noch kurz dem Formular. Der Sourcecode sieht für die gezeigten Screenshots dabei so aus:

...

<body>
<form id="InputForm">
<h2>Convert HTML to ASP</h2>

<table cellpadding="2" cellspacing="2">
  <tr>
     <td>Insert HTML:</td>
  </tr>
  <tr>
     <td>  
        <textarea name="txtText" cols="90" rows="20"></textarea>
     </td>
  </tr>
  <tr>
      <td align="right"><input type="button" Name="btnConvert" value="Convert"></td>
  </tr>
  <tr>
     <td>Output:</td>
  </tr>
  </tr>
  <tr>
     <td>  
        <textarea name="txtOutput" cols="90" rows="20"></textarea>
     </td>
  </tr>
</table>
</form>
</body>   
</html>

Eigentlich nichts aufregendes; sowohl das Eingabefeld, als auch das Ausgabefeld sind eine <textarea> mit den jeweils zugeordneten IDs (name=...).

Die Ausführung der Prozedur btnConvert wird durch einen HTML-Control Button

<input type="button" Name="btnConvert" value="Convert"></td>

erledigt. Da diese Prozedur einen Eventnamen besitzen muß, und die Prozedur bei einem einfachen Click auf die HTML-Control ausgeführt werden soll, verwenden wir hier den _OnClick-Eventnamen.

...
 Sub btnConvert_OnClick
...

Schlußbemerung

Dieser Artikel enthält nur die Grundfunktionalität, was diese Art "Tool" durchführen soll - eben plain HTML-Code in ASP konvertieren. Als "Hausaufgabe" für den Leser habe ich vorbehalten, den Client-Side Code auf Server-Side ASP Code umzubauen - da wir aber VBScript verwendet haben, dürfte dies kein Problem darstellen.

This printed page brought to you by AlphaSierraPapa

Download des Codes

Klicken Sie hier, um den Download zu starten.
http://www.aspheute.com/code/20010129.zip

 

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.