Kategorie:
Webentwicklung

OpenLayers vs Leaflet vs ArcGIS API for JavaScript: Bounding Box erstellen

Folgende Aufgabe wollte ich letztens lösen: Auf einer Karte soll ein Benutzer eine Boundig-Box aufziehen können. Also ein Rechteck um einen Bereich abzugrenzen. Die geographischen Koordinaten (Länge, Breite) der Boundig-Box sollen auf der Seite in einer bestimmten Formatierung ausgegeben werden. Die Benutzung soll auf Smartphones mit Gesten ebenso wie auf einem Desktop-PC möglich sein. Ich […]

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 […]

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 […]

Liste von PHP Bibliotheken

Folgende Liste von PHP Bibliotheken bzw. Modulen habe ich mit der Zeit zusammengestellt, die einen guten Eindruck machen. Ich habe dabei darauf geschaut, wie sie gepflegt werden, wie verbreitet sie sind und wie die Dokumentation aussieht. Die Liste ist bestimmt nicht vollständig und erhebt auch keinen Anspruch darauf. Assets Assetic https://github.com/kriswallsmith/assetic Bildgrößen ändern / Thumbnail […]

file_get_contents über Proxy

Die PHP Funktion file_get_contents ist praktisch. Mit ihr kann man Inhalt von diversen Datenquellen – nicht nur Dateien – einlesen um sie danach weiter zu verarbeiten. Man kann der Funktion bspw. auch eine URL übergeben. Leider funktioniert das nicht hinter einem Proxy. Hier hilft ein Streamcontext. $aContext = array( ‘http’ => array( ‘proxy’ => ‘tcp://PROXYIP:PROXYPORT’, […]