ASCII-Dateien automatisch fürs Web aufbereiten

ASCII-Text für Webseiten aufzubereiten ist an sich keine große Sache. Nur wenn es sich um extrem viel Text handelt, wird die Arbeit schnell monoton. Ein kleines PHP-Script kann da helfen, sich der eintönigen Arbeit zu entziehen und die Aufgabe schneller zu erledigen.

Am Anfang steht ein Beispiel für eine unbearbeitete Textdatei, die umgewandelt werden soll:


Grünes Licht für den Mars!
John R. Doe

Die Idee von den kleinen grünen Männchen vom Mars,
lange Zeit die Hauptnahrung für Science-Fiction,
könnte sich schon bald mehr als Fakt denn als Fiktion erweisen.

Die von der jüngsten Mars-Expedition mitgebrachten
Proben deuten auf eine hohe Konzentration an Chlorophyll
in der Atmosphäre hin. Chlorophyll ist, wie wir wissen,
das, was Pflanzen grün aussehen lässt. Es ist daher ziemlich
wahrscheinlich, dass die Außenhaut von Organismen auf dem Mars
durch den dauerhaften Kontakt mit dem grünen Stoff einen
Grünstich entwickelt hat.
Ein Interview mit Dr. Rushel Bunter, Leiter des ASDA
Mars Colonization Project usw., usw.

Was heißt das nun für Sie?
Nun, es heißt, dass usw., usw.

Bei dem Beispieltext handelt es sich um einen Standardtext: Es gibt eine Überschrift (oder Schlagzeile), eine Zeile mit dem Namen des Autors und viele Absätze mit Text. Alles, was getan werden muss, um dieses Dokument in HTML umzuwandeln, ist, HTML-Zeilen- und Absatzwechsel einzufügen, um das ursprüngliche Layout auf einer Webseite zu erhalten. Spezielle Satzzeichen müssen in ihre HTML-Entsprechungen umgewandelt und Hyperlinks aktiviert werden, damit man sie anklicken kann.

Hier ist der PHP-Code (Listing A), mit dem dies umgesetzt werden kann:

Listing A

Wie funktioniert das?

  1. Der erste Schritt ist das Einlesen der unbearbeiteten ASCII-Datei in einen PHP-Array. Das geht ganz leicht über die Funktion file(), die jede Zeile der Datei in ein Element eines numerisch indizierten Arrays umwandelt.
  2. Als nächstes werden die Überschrift und die Autorenzeile (die beiden ersten Zeilen der Datei) mittels der Funktion array_shift() aus dem Array in separate Variablen extrahiert. Anschließend werden die verbleibenden Elemente des Arrays zu einem einzigen String verkettet. Dieser String enthält nun den gesamten Textkörper des Artikels.
  3. Sonderzeichen wie ‚, < und > innerhalb des Textkörpers werden über die Funktion htmlspecialchars() in ihre HTML-Entsprechungen umgewandelt. Damit die ursprüngliche Formatierung des Artikels erhalten bleibt, werden Zeilen- und Absatzschaltungen über die Funktion nl2br() in HTML-Elemente umgewandelt. Mehrere aufeinander folgende Leerzeichen im Textkörper werden durch das einfache Ersetzen von Strings zu einzelnen Leerzeichen komprimiert.
  4. URLs innerhalb des Textkörpers werden über reguläre Ausdrücke erkannt und von Elementen umschlossen. Das macht die URLs zu anklickbaren Hyperlinks, wenn die Seite in einem Webbrowser angezeigt wird.
  5. Die letztendliche HTML-Seite wird nun über standardmäßige HTML-Regeln konstruiert. Die Artikelüberschrift, der Autor und der Textkörper werden mit CSS Style Rules formatiert. Da das Script hierzu nicht in der Lage ist, ist dies der Punkt, an dem man das letztendliche Erscheinungsbild der Seite anpasst – zum Beispiel durch das Hinzufügen von grafischen Elementen, Farben oder sonstiger Zaubereien zur Seitenvorlage.
  6. Steht die HTML-Seite, kann sie an den Browser gesendet werden oder über file_put_contents() in einer statischen Datei gespeichert werden. Zu beachten gilt, dass der ursprüngliche Dateiname beim Speichern aufgelöst und eine neue Datei (dateiname.html) für die neu erstellte Webseite erzeugt wird. Nun kann man diese Webseite auf einem Webserver veröffentlichen, auf einer CD-ROM speichern oder weiter bearbeiten.

Hinweis: Verwendet man dieses Script zum Erstellen und Speichern von HTML-Dateien auf einem Laufwerk, ist darauf zu achten, dass das Script Schreibrechte für das Verzeichnis besitzt, in dem die Dateien gespeichert werden sollen.

Wie man sieht, lassen sich ASCII-Textdateien in einem Standardformat mit PHP recht schnell in brauchbare Webseiten konvertieren. Hat man eine bestehende Website, in der die neuen Webseiten eingebaut werden sollen, ist es auch relativ einfach, die vom Seitengenerator verwendete Vorlage so anzupassen, dass sie zum Aussehen der restlichen Website passen.

ZDNet.de Redaktion

Recent Posts

Microsoft steigert Umsatz und Gewinn im ersten Fiskalquartal

Das stärkste Wachstum verbucht die Cloud-Sparte. Microsoft verpasst bei der Umsatzprognose für das laufende Quartal…

9 Stunden ago

Bezahlkarten: Infineon verspricht weniger Plastikmüll

Ein Coil-on-Module-Package integriert Chip und Antenne, was den Kartenkörper fast vollständig recycelbar machen soll.

24 Stunden ago

Firefox 132 schließt elf Sicherheitslücken

Mindestens eine Anfälligkeit erlaubt das Einschleusen von Schadcode. Außerdem erweitern die Entwickler den Support für…

1 Tag ago

Telekom nennt Termin für 2G-Ende

Zum 30. Juni 2028 soll das 2G-Netz komplett abgeschaltet werden und den Weg für schnellere…

1 Tag ago

Alphabet übertrifft die Erwartungen im dritten Quartal

Gewinn und Umsatz legen deutlich zu. Zum Wachstum tragen auch die Sparten Cloud und Abonnements…

1 Tag ago

1 Million Dollar: Apple zahlt Prämie für Hack seiner Apple Intelligence Server

Ein neues Bug-Bounty-Programm beschäftigt sich mit Apples Private Cloud Compute. Prämien gibt es unter für…

2 Tagen ago