Guten Abend,
ich bin dabei eine mehrseite Adressliste Liste zu grabben, die diverse Adressen enthält. Sowei so gut. Mit preg_match_all kann ich auch die einzelnen Adressen ganzheitlich unterscheiden.
Nun habe ich nur noch ein Problem.
Der Basistext kann nun wie folgend aussehen:
<div class="adressbox">
<strong>Beispielfirma</strong><br />
Beispiel GmbH<br />
Beispielstrasse 120<br />
44309 Dortmund</p>
<p class="phonetext">
Telefon: 0231-0000000<br />
Fax: 0231-0000000</p>
</div>
oder
<div class="adressbox">
<strong>Beispielfirma</strong><br />
Beispielstrasse 120<br />
44309 Dortmund</p>
<p class="phonetext">
Telefon: 0231-0000000<br />
Fax: 0231-0000000</p>
</div>
Wie man sehen kann gibt es einen wesentlichen Unterschied ein Feld fehlt.
Nun möchte ich natürlich die Daten strukturiert in eine Datenbank pulvern, sprich es gibt eine Tabelle Firma / Strasse / PLZ / Ort...
Das Problem ist nur das aufgrundes Fehlenden <br /> ich die Strasse nicht mehr sicher zuordnen kann, da sie auch ein Bestandteil des Unternehmensnamens sein kann.
Hier ein kurzer Quelltextauszug aus beschriebenen Grapper
preg_match_all("|<div class="adressbox">(.*)</div>|Uism",$data, $items, PREG_PATTERN_ORDER);
if (count($items[1])==0) {
preg_match_all("|<div class="adressbox">(.*)</div>|Uism",$data, $items, PREG_PATTERN_ORDER);
}
for ($i=0; $i<count($items[1]); $i++) {
preg_match_all("|adresstext(.*)linktext|Uism",$items[1][$i], $regs, PREG_PATTERN_ORDER);
$adressen= $regs[1][0];
$adressen= str_replace('</p><p class="phonetext">Telefon:', ',', $adressen);
$adressen= str_replace('<br />Fax:', ',', $adressen);
$adressen= str_replace('</strong><br />', ',', $adressen);
$adressen= str_replace('<strong>', '<anfang>', $adressen);
$adressen= str_replace('</p>', '<ende>', $adressen);
$adressen= str_replace('<p class="">', '', $adressen);
$adressen= str_replace('<p class="', '', $adressen);
$adressen= str_replace('">', '', $adressen);
$adressen= str_replace("\t", "", $adressen);
$adressen= str_replace("\n", "", $adressen);
$adressen= str_replace("<br />", ",", $adressen);
$adresse= explode(',', $adressen);
$firma= $adresse[0];
$adress= $adresse[1];
$plzort= $adresse[2];
$tel= $adresse[3];
$fax= $adresse[4];
Hat hierzu jemand eine Idee