Sollte jemand von euch mal in den Genuss kommen, mittels Visual Basic ein HTML-Dokument zu erstellen (was ja an sich schon hirnrissig genug ist, aber was solls…), der wird sich sicher fragen, wie er zu den Anführungszeichen in den HTML-Tags kommt, ohne den VB-Code zu beeinflussen.
Wie ja bekannt ist, bewirkt ein Anführungszeichen zumeist die Ausgabe eines Strings. In meinem Fall muss ich ein Text-File generieren, das eigentlich ein HTML-File ist (sorry – ich kann da nichts dafür, dass die integrierte Entwicklungsumgebung der Software so ein Dreck ist). Das sieht dann so aus (am Beispiel eines zentrierten Absatzes):
body = body + "<p align="center">"
Natürlich habe ich jetzt aber das Problem, dass VB.NET diese Zeile so interpretiert und ausgibt:
<p align=>
Das "center" wird nicht erkannt, da es laut gängigem XHTML ebenfalls mit Anführungszeichen umschlossen sein muss, VB.NET aber annimmt, dass hier der String endet. Natürlich reisst der Code beim Parsen auch einen Stern. Um das aber zu umgehen hat uns Gott die ASCII-Zeichen gegeben. Und auch für das Anführungszeichen gibt es ein solches.
Das Kommando Chr(34) bewirkt die *AUSGABE* eines Anführungszeichens. Das sieht dann im Code so aus:
body = body + "<p align=" + Chr(34) + "center" + Chr(34) + ">"
Was kommt dabei raus? Das hier:
<p align="center">
Und wieder sind wir um eine nützliche Information reicher…
2.September 2008 at 11:07
Busbahnhof…Nordbahnhof…Hauptbahnhof…Westbahnhof?