bookmarks.php - Ein php-Skript, daß Bookmark-Dateien nach dem Netscape-Standard ausliest und weiterverarbeitet

Wie es anfing:

Als Betreuer diverser Webpräsenzen überwache ich nicht nur die Gültigkeit von Links oder das Ranking der Seiten in Suchmaschinen, sondern kümmere mich auch um individuelle Schmankerl wie dynamische Webseiten oder Kleinigkeiten wie z.B. die Integration einer Lesezeichen-Seite.

Anfangs benutzte ich ein Tool namens URLBase, das u.a. in der Lage war, die Favoriten-Linklisten aus dem Internet Explorer auszulesen und diese in eine html-Datei zu exportieren. Unter Angabe eines StyleSheet-Bezuges konnte das Design sogar an die in der Webpräsenz bestehenden Webseiten angepasst werden.

Als das Tool bei der äußerst umfangreichen Favoriten-Sammlung meiner früheren Freundin Beate Pfeil zum Einsatz kam, avancierte die dadurch ausgegebene Webseite rasch zur meist besuchten Seite ihres Webauftrittes. Das veranlasste mich, über eine Optimierung einer solchen Favoriten-Seite nachzudenken, um die sehr große Seite per html-Entschlackung zu verkleinern und um eine bessere Lesbarkeit sowohl für Besucher als auch Suchmaschinen zu erreichen.

Also ging's los mit der bewährten Programmierung einer Access97-Frontend-Anwendung, die rekursiv durch die Ordner und Favoriten-Dateien des Windows-Favoriten-Verzeichnisses lief und alle gespeicherten Link-Informationen sammelte. Da html und css durch die Programmierung frei bestimmbar waren, konnte sich die Seite an das Design der bestehenden Webseiten einwandfrei anpassen.

Die Art der verwendeten Zeilenumbrüche, das Maß der Quelltext-Einrückung bis hin zum Ausgeben von Debug-Protokollmeldungen waren frei bestimmbar.

nach oben

Wo das Problem liegt:

Nach langem Ringen hatte ich mich im Jahre 2004 endlich durchgerungen, mich für eine Alternative zum Microsoft-Webbrowser Internet Explorer auszusprechen: Firefox Info zu Firefox.

Ich selbst hatte die fürchterlich umfangreichen Netscape- und Mozilla-Programmpakete immer gescheut, obwohl schon länger einiges z.B. für diese Browser sprach, weil sie u.a. nicht so anfällig für Angriffe durch Viren sind, weil sie nicht so unüberschaubar viele Sicherheitslücken haben, weil solche dann schnell öffentlich besprochen, behoben und zugänglich gemacht werden ... mit einem Wort: weil sie nicht von Microsoft sind.

Für mich als zufriedener Benutzer eines betagten IE4 wäre das eigentlich gar nicht nötig gewesen.
Der Browser kommt mit css recht anständig zurecht und ist für alle Viren-, Webseiten-Exploits- und andere Angriffe der letzten Jahre immun (er ist schlicht und ergreifend zu "dumm", bzw. einfach zu alt für diesen gefährlichen Unsinn).

Aber was sollte ich mit meinen Kunden machen, die schon allein durch ihre neueren Windows-Installationen mit IE5 und schlimmer bestraft wurden ?

Also habe ich mir den Firefox-Browser angeschaut und für gut befunden.

"Folgsamen" Kunden wird je nach Bedarf z.B. ein simples Windows 98 OHNE Internet Explorer installiert (mit Hilfe der wunderbaren Tools 98lite o.a. xplite von www.litepc.com Info zu 98lite und xplite und danach die OpenSource-Programme Firefox als Webbrowser und Thunderbird als eMail-Client.
Unerwünschte wie auch virulente eMails sortiert Thunderbird bei mir mit beinahe 100%iger Sicherheit aus.
Virenscanner habe ich zu Spaßtools degradiert, die ich lediglich benutze, wenn es mir langweilig ist und ich wissen möchte, welche aktuellen eMail-Viren gerade wieder im Umlauf sind, oder wenn es wieder mal irgendeine arme Sau mit Windows XP eiskalt erwischt (das sind dann typischerweise keine Kunden von mir und werden's auch nicht werden).

Das seinerzeit für den Internet Explorer geschriebene Tool zur Webseiten-Aufbereitung der Favoriten-Linkliste hat aber mit der Umstellung auf den Firefox-Browser ausgedient. Der legt seine als bookmarks bezeichneten Linklisten gemäß Netscape-Standard als "NETSCAPE-Bookmark-file" in einer sog. xml-Datei ab, die wie eine Webseite betrachtet und bedient werden kann. Diese Art der Lesezeichen-Verwaltung ist typisch für die Familie der Netscape-Browser, zu der auch Mozilla und Firefox gehören. Das Lesezeichen-Dokument kann man auch einfach auf seinen Webspace hochladen und verlinken, fertig ist eine online-Linkliste.

Was mir aber daran nicht gefallen hat, war die Tatsache, daß zum einen die binären Daten sog. Favoriten-Icons in dieser Datei abgelegt werden (s.a. die Informationen zum Thema favicon.ico Info zu favicon.ico sowie ein Haufen weiterer Informationen, wann z.B. Links angelegt, verändert oder zum letzten Male besucht wurden. Obendrein ist das Dokument nicht im Sinne von xhtml "wohlgeformt", soll heißen, geöffnete <dt>- und <p>-Tags werden nicht wieder geschlossen, was dem Browser beim Interpretieren und Darstellen dieser Datei aber ziemlich wurscht ist. Die Datei selbst wird abhängig von der Windows-Version in einem Verzeichnis abgelegt, in dem bezogen auf den Benutzer Anwendungsdaten gespeichert werden. Wenn Sie in diesem Verzeichnis nach Beenden einer Firefox-Sitzung eine bookmarks.htm mit aktuellem Datum und Uhrzeit sowie eine ebenso aktuelle bookmarks.bak-Sicherheitskopie finden, dann sind Sie richtig.

Nachdem ich als Programmierer selbst bestimmen möchte, wie meine online-Lesezeichenliste aufgebaut ist, war der Anreiz geboren, die Lesezeichendatei bookmarks.html durch ein entsprechendes Tool auszuwerten und eine wunschgemäße Ausgabe zu erzeugen.

nach oben

Wie es weiterging:

Da Mozilla und Firefox OpenSource-Programme sind, war ich mir sicher, in der Szene ein Tool oder wenigstens ein Script zu finden, das die Auswertung der bookmarks.html-Lesezeichendatei bewerkstelligt. Nach geduldiger und wiederholter Suche habe ich immerhin ein in der Webserver-Programmiersprache php geschriebenes Script von Thomas Kappler entdeckt, das er gemäß der GPL-Richtlinien ( was Sie dürfen Info zur GPL / was Sie nicht dürfen Info zur GPL ) veröffentlicht hatte. So möchte ich es denn auch halten und habe, damit es andere beim Suchen im Internet leichter haben, diese Seite geschrieben.

Das Script hat meinen eigenen Wünschen in einigen Punkten nicht entsprochen, und so habe ich angefangen, diverse Anpassungen und Erweiterungen vorzunehmen, bis ich damit zufrieden war.

nach oben

Was es alles kann:

Das php-Script ist in zwei Dateien unterteilt:

Der Quelltext (sourcecode) ist in Englisch kommentiert; wer programmieren kann, sollte damit keine Probleme haben.

Das Script bookmarks.php kann auf zweierlei Art benutzt werden:

Die ausgegebenen Daten sind nicht einmal halb so groß, wie der Platzbedarf der ursprünglichen Netscape-bookmark-Datei.
In beiden Modi kann bestimmt werden, ob sog. Whitespace Info zu Whitespace ausgegeben werden soll, was nochmal ca. 8% Platz spart.

In der Hauptdatei bookmarks.php können eine Reihe von Einstellungen vorgenommen werden:

Darüber hinaus erlauben weitere Konstanten die Einstellungen technischer Details:

nach oben

Ein Beispiel:

für die Ausgabe einer online-Linkliste, wie sie meinen Vorstellungen entspricht, ist die Seite lesezeichen.htm.

nach oben

Download:

von bookmarks.zip (7 kB, enthält bookmarks.php und bookmarks_functions.php).

nach oben

zur Startseite dieses Webangebotes zur Download-Hauptseite   xhtml1.0