XSLT in PHP mit Namensräumen

Wenn man ein XML Dokument hat und dieses formatiert und lesbar in HTML anzigen will, kann man ein XSL Stylesheet verwenden, dass man mit XSLT in das gewünschte Zielformat transformieren kann. In PHP geht dies recht einfach mit Bordmitteln: Das XML Stylesheet sieht wie folgt aus: Wichtig: Das XML Dokument hat Namensräume definiert. Dabei ist […]

Python Skript auf dem Raspberry als root über Shell ausführen

Angenommen wir haben ein Python Skript hello.py, das mit sudo ausgeführt werden muss unter /home/pi/test abgelegt. Nun will ich das Skript nicht per Doppelklick auf dem Desktop ausführen. Dazu geht man wie folgt vor: Shell öffnen. $cd ~/Schreibtisch $sudo touch start.sh $sudo nano start.sh In nano: #!/bin/sh cd /home/pi/test sudo python hello.py Strg+x und j […]

Kartendienst auf eigener Webseite mit ArcGIS API for JavaScript

TL;DR: Demo einer Kartenanwendung mit esri Wenn man eine eigene Karte auf der Webseite darstellen will, nutzt man meistens Google Maps. Auf dem Gebiet der Geodatenanwendungen ist allerdings Google eher ein Newbee. Der alte Platzhirsch heißt esri. Im Bereich der webbasierten Karten wie Google Maps hatte esri etwas geschlafen. Aber in den letzten Jahren gibt […]

DSGVO – oder heute kotze ich

So heute schreibe ich keinen Technikbeitrag. Heute bin ich einfach nur genervt: Draußen hat es 25° und ich kann mich hinsetzen und mich mit dem neuen Monster DSGVO herumschlagen. Ich habe mir heute sogar noch eine c’t gekauft, in der Hoffnung hier “für den kleinen Webmaster” ein paar praxisnahe Anleitungen mit dem Kompaktratgeber zu bekommen. […]

Eigener Webcrawler mit Scrapy

Mit der Python Bibliothek Scrapy kann man relativ schnell einen eigenen Crawler aufsetzen – also ein Programm, das alle Seiten einer Website durchläuft. Dabei können dann bestimmte Aktionen durchgeführt werden. Im Folgenden Beschreibe ich kurz, wie man unter Windows Scrapy als Crawler einsetzen kann. Zunächst sollte man einige Einstellungen überprüfen bzw. vornehmen: Die PATH Variable […]

MySQL Volltextsuche – Stoppwörter für deutsche Sprache konfigurieren

Die MySQL Volltextsuche ist eine relativ einfache Möglichkeit um eine Datenbanktabelle nach Text zu durchsuchen. Im Gegensatz zur Suche mit LIKE, bietet die MySQL Volltextsuche die Vorteile, dass ein Index erstellt wird und die Suche schneller abläuft. Außerdem werden die Ergebnisse nach Relevanz sortiert zurückgeliefert und einiges an „Filterarbeit“ durch das DBMS erledigt. Diese „Filterarbeit“ […]

Allow Origin Header für mehrere Domains setzen

In einem früheren Artikel habe ich schon einiges über Cross-Domain Zugriffe (CORS) geschrieben. Wenn man z.B. einen Webservice anbieten will, hat man meistens einige Domains, denen man den Zugriff über Ajax auf den Dienst genehmigen will. Bei einer Domain setzt man folgenden Header in PHP: header(‘Access-Control-Allow-Origin: http://www.anfragendedomain1.de’); Man kann als zweiten Parameter angeben, ob der […]

Gibt es Backlinks zu einer Seite auf Wikipedia?

Vor allem für die Suchmaschinenoptimierung ist es interessant, ob bei Wikipedia Links auf eine bestimmte Seite gesetzt werden. Die Wikipedia-API bietet viele Möglichkeiten um den Inhalt von Wikipedia-Seiten automatisiert auszuwerten. Mit folgender PHP Funktion kann man diese sogenannten Backlinks einer URL auf Wikipedia finden. function get_wikipedia_backlinks($url, $language=”en”) { $url = preg_replace(“(^https?://)”, “”, $url); $wiki_url = […]

PHP Script zeitgesteuert unter Windows mit dem Aufgabenplaner ausführen

Wahrscheinlich kommt es in der Praxis oft nicht vor, da man bei Linux Cron-Jobs für eine zeitgesteuerte Ausführung eines Programms nutzt, aber ich will dennoch zeigen, wie man zeitgesteuert ein PHP-Programm unter Windows mit dem Aufgabenplaner (Scheduler) ausführen lassen kann. Folgende Ordnerstruktur habe ich angelegt. Die Aufteilung in zwei Dateien wähle ich aus Demogründenden – […]

CSS Grid Layout

… oder wollen wir lieber sagen: ASCII Art Layout? Es wird Zeit sich mit einem neuen Layoutmodul auseinanderzusetzen. Lange Zeit waren Floats das Mittel der Wahl für Layouts von Webseiten. Dann kam Flexbox, das aber auch nur partiell Lösungen z.B. für eine Navigationsleiste bietet, da es sich um eine eindimensionales Layoutsystem handelt (eine Zeile oder […]