Stranger: preg_match_all mit verschiedenen Content variabeln

Beitrag lesen

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