• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

IDX3.01 Daten auslesen und darstellen

tigtman

Mitglied
Hallo zusammen,

ich hoffe, dass Ihr mir helfen könnt. Ich bekomme von einer Immobilienplattform Daten (IDX3.01) auf meinen Webserver gespielt, welche dort in verschiedene Ordner (data, doc, images) gespeichert werden.

Leider fehlt mir völlig der Ansatz... wie kann ich die Daten nun auf meiner Wordpress-Seite darstellen? Wie kann eine Beschreibung zu einer Immobile dem richtigen Bild zugeordnet werden?

Ich danke Euch schon jetzt für einen ersten Ansatz/Hinweis.

LG
 
Werbung:
Such dir eine Dokumentation zu dem Format raus und schreib dir ein eigenes Wordpress-Plugin mit dem Du das erreichst was Du willst. Alternativ dazu könntest Du aber auch ein anderes Format wählen, wenn vom Anbieter angeboten, und schauen, ob es dazu bereits ein Wordpress-Plugin gibt.
 
Werbung:
Ich kenn die Daten nicht. Aber wenn sie auf deinem Server liegen kannst Du auch mit PHP darauf zugreifen.
 
Ja, aber wie? Die Daten in dem Text-File sind mit #-Zeichen voneinander getrennt und die Bilder liegen alle in einem anderen Ordner. Wie kann man diese nun (und deren Zusammengehörigkeit) auslesen?
 
Werbung:
Die Ordnerstruktur sieht wie folgt aus:

bildschirmfoto2u98yrk7wc.png


Die Datei unload.txt enthält folgendes (Beispiel):

Code:
IDX3.01#scout24#APPT#1#RENT###Beispielstrasse (3352837)#Beispielstrasse 11#12345#Beispielort#Sachsen#DE#16##01.10.2014#*Altersgerechtes Wohnen*#Die Liegenschaft befindet sich an ruhiger und zentraler Lage. Die modern erstellte Wohnung ist altersgerecht konzipiert und hat einen sehr guten Ausbaustandart.<br />Die kurze Gehdistanz zum Zentrum mit seinen vielfältigen Einkaufs- und Unterhaltungsmöglichkeiten tragen dazu bei, dass Mieterinnen und Mieter ihre Selbständigkeit und eigenständige Lebensführung beibehalten können. Durch die Pauschale von EUR 100.00 haben die Mieterinnen und Mieter die Möglichkeit beim Alters- und Pflegezentrum Dienstleistungen zu beziehen. Die allfälligen gewünschten Dienstleistungen des APZ werden separat verrechnet.<br />Das Alters- und Pflegezentrum (Mittagstisch im Restaurant Schwanz, Coiffure, Pédicure), Spitex und Pro Senectute befindet sich in unmittelbarer Nähe.<br />Die Wohnung verfügt über eine offene Küche, Dusche/WC, eigene Waschmaschine/Trockner, Balkon sowie ein Kellerabteil.#1730#1450#280#MONTHLY#CHF##2#3.5#0#82####2012####Y##Y#Y#Y##250#100##100#300#img_3352837_01.jpg#img_3352837_04.jpg#img_3352837_03.jpg#img_3352837_05.jpg#img_3352837_06.jpg##############media_3352837_01.pdf####423#Firma##Ansprechpartner#Ansprechpartner-Strasse#PLZ#Ort#DE#Telefonnummer###Emailadresse## und so weiter....
 
Die Ordnerstruktur sieht wie folgt aus:

bildschirmfoto2u98yrk7wc.png


Die Datei unload.txt enthält folgendes (Beispiel):

Code:
IDX3.01#scout24#APPT#1#RENT###Beispielstrasse (3352837)#Beispielstrasse 11#12345#Beispielort#Sachsen#DE#16##01.10.2014#*Altersgerechtes Wohnen*#Die Liegenschaft befindet sich an ruhiger und zentraler Lage. Die modern erstellte Wohnung ist altersgerecht konzipiert und hat einen sehr guten Ausbaustandart.<br />Die kurze Gehdistanz zum Zentrum mit seinen vielfältigen Einkaufs- und Unterhaltungsmöglichkeiten tragen dazu bei, dass Mieterinnen und Mieter ihre Selbständigkeit und eigenständige Lebensführung beibehalten können. Durch die Pauschale von EUR 100.00 haben die Mieterinnen und Mieter die Möglichkeit beim Alters- und Pflegezentrum Dienstleistungen zu beziehen. Die allfälligen gewünschten Dienstleistungen des APZ werden separat verrechnet.<br />Das Alters- und Pflegezentrum (Mittagstisch im Restaurant Schwanz, Coiffure, Pédicure), Spitex und Pro Senectute befindet sich in unmittelbarer Nähe.<br />Die Wohnung verfügt über eine offene Küche, Dusche/WC, eigene Waschmaschine/Trockner, Balkon sowie ein Kellerabteil.#1730#1450#280#MONTHLY#CHF##2#3.5#0#82####2012####Y##Y#Y#Y##250#100##100#300#img_3352837_01.jpg#img_3352837_04.jpg#img_3352837_03.jpg#img_3352837_05.jpg#img_3352837_06.jpg##############media_3352837_01.pdf####423#Firma##Ansprechpartner#Ansprechpartner-Strasse#PLZ#Ort#DE#Telefonnummer###Emailadresse## und so weiter....

Und wo ist jetzt das Problem? Niemand kennt das Dateiformat idx3.01.
Also wird es dafür auch keinen fertigen Parser in PHP geben. Somit musst du dir den selbst schreiben.

Hast du die Raute-Zeichen im Codebeispiel selbst gesetzt?
Für mich sieht das nämlich völlig unstrukturiert aus - keine Logik erkennbar.
 
Zuletzt bearbeitet:
Nein, die Raute-Zeichen habe ich nicht gesetzt. Die Daten werden so geliefert. :/

Mir fehlt halt völlig der Anfang.
 
Zuletzt bearbeitet:
Werbung:
Nein, die Route-Zeichen habe ich nicht gesetzt. Die Daten werden so geliefert. :/

Mir fehlt halt völlig der Anfang.

Ich würde einfach mal Kontakt mit dem Lieferant aufnehmen und fragen was das darstellen soll.
Für gewöhnlich erhält man nämlich JSON, CSV oder XML und nicht so merkwürdiges.
Der weiß am ehesten wie diese Daten verarbeitet werden können.

Für mich sieht das nämlich nicht nach einem standardisierten Format aus.
 
Werbung:
Dann solltest Du auch nach einer Dokumentation zu dem Format fragen. Wenn die das nicht mit anbieten, würde ich den Anbieter wechseln denn ohne detaillierte Informationen zu den einzelnen Inhalten und was was bedeutet wirst Du keine vernünftigen Werte dort auslesen können.
 
Mir wurde soeben die Doku als EXCEL-File zugestellt. Ich werde dennoch nicht schlau daraus. Bringt es was diese hier zu posten?
 
Werbung:
Ich finde leider nirgends einen Anhaltspunkt, wie ich die Daten darstellen kann (einen Anfang). Selbst Google spuckt mir da nix aus. :/
 
Also wenn du die Daten aus der unload.txt brauchst dann würde ich die Datei mit PHP öffnen und auslesen und nach # exploden. Habe aber gesehen das auch manchmal 3 oder 4 # drin sind, da musst du denn öfter exploden. Aber mit etwas Fleiß sollte das klappen. Dann solltest du jeden einzelnen Wert in einem Array haben so wie ich das beurteilen kann. Was nun welcher Wert was darstellt wird denn wohl in deiner Excel Datei dargestellt.

Ich denke da musst du dir denn schon was eigenes programmieren, denn etwas fertiges fällt mir nichts ein.

Und das darstellen machst du denn mit Daten aus dem Array.
 
Ich habe es jetzt schon einmal mit curl hinbekommen (bin blutiger Anfänger), dass mir die Datei unload.txt ausgegeben wird:

PHP:
<?php           
    function get_content($url)
    {
       
        $ch = curl_init();
   
        curl_setopt ($ch, CURLOPT_URL, $url);
        curl_setopt ($ch, CURLOPT_HEADER, 0);
   
        ob_start();
   
        curl_exec ($ch);
        curl_close ($ch);
        $string = ob_get_contents();
   
        ob_end_clean();
       
        return $string;    
    }
   
    $content = get_content ("data/unload.txt");
    var_dump ($content);
?>

Jetzt sollten die Daten aber noch in einer list dargestellt werden. Getrennt sind die einzelnen Elemente mit #-Zeichen.
 
Werbung:
Hat das einen tieferen Sinn warum das du das mit curl machst? Ich dachte die txt Datei liegt auf deinem Server oder liegt diese noch auf dem Fremdserver?

Weil wenn sie auf deinem Server liegt reicht ein file_get_contents
Dann musst du den content noch exploden

Mit den zwei Befehlen solltest du die einzelnen Elementen in einem Array haben und dann müsstest du das Array nur noch verarbeiten.
 
Ja, ich habe erst zu erst mit file_get_contents versucht, habe dort aber den "Fehler" mit der direkten Pfadangabe gemacht und dies wollte nicht funktionieren. Dank Dir habe ich mich aber nochmals daran versucht. Es klappt nun mit file_get_contents.

Jetzt explode ich die unload.txt mit folgendem Code:

PHP:
<?php
    $data_immo = file_get_contents('data/unload.txt');
    $array = explode('IDX3.01#immo', $data_immo);
    foreach ($array as $item) {
        echo '<li>' . htmlentities($item) . '</li>';
    }
?>

Jetzt bekomme ich eine Liste aller. Nun stellen sich mir noch folgende Fragen:

- Warum wird am Anfang immer ein leeres <li> ausgegeben? Ist die foreach-Schleife nicht korrekt gesetzt?
- Kann ich ein array, welches exploded ist nochmals weiter exploden? Da ich nicht alle Informationen benötige und die, welche ich benötige, noch in diverse DIVs schreiben möchte.

Jedes neues <li>-Element wird mit "IDX.301#immo" eingeleitet. Die einzelnen Informationen werden mit einer unterschiedlichen Anzahl von #-Zeichen voneinander getrennt. Komisch nur, dass es manchmal nur eins, dann wieder 7 oder gar 22 Stück #-Zeichen sein können.

@B3nnoX: Danke Dir für das Streuen von Brotkrümeln auf diesem unüberschaulichen Wegen. :)
 
Zurück
Oben