ASCII-Dateien automatisch fürs Web aufbereiten

Scriptsprachen helfen, lästige Aufgaben zu automatisieren. Dieser Artikel stellt ein kleines PHP-Script vor, mit dem sich einfacher ASCII-Text in gut lesbaren HTML-Markup-Text umwandeln lässt.

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.

Themenseiten: Anwendungsentwicklung, Software, Webentwicklung

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu ASCII-Dateien automatisch fürs Web aufbereiten

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *