Preg_replace
Verfasst: 03.04.2009 23:58
Mohoin kann mir jemand sagen warum das folgende nicht funktioniert?:
Der Sinn der Funktion ist es, aus dem String $area:
doppelte Besetzungen der Koordinaten herauszusuchen und zusammenzufügen. In diesem Fall sollte statt "Jan", "Jan, Mario" stehen und die Mario-Zeile gelöscht werden.
klappt aber nicht^^
Zusatzinfos:
Das Auslesen der Namen und Koordinaten mit preg_match_all klappt wunderbar, der Haken scheint bei preg_replace zu liegen
Danke im Voraus
mfG Hoschi
Code: Alles auswählen
function PatchArea($area){
/////////////////////////////////////
// --- Unterfunktion --- ///
///////////////////////////////////// /
// Vereint Doppelte Punkte // /
///////////////////////////////////// /
// Parameter: // /
// $area: Der zuvor erstellte // /
// string mit den area-einträgen ///
/////////////////////////////////////
preg_match_all("/coords=\"(.*)\,4/",$area,$result);
preg_match_all("/title=\"(.*)\" alt/",$area,$name);
#print_r($name[1]);
#print_r ($result[1])."<br>";
$a = (count($result[1])-1);
for($i = 0; $i < $a; $i++){
if($result[1][$i] == $result[1][$a]){
print $name[1][$i];
print $name[1][$a];
preg_replace("/".$name[1][$i]."/",$name[1][$i].", ".$name[1][$a],$area);
preg_replace("/".$name[1][$a]."/","",$area);
}
}
return $area;
Code: Alles auswählen
<area title="Malte" alt="Text" coords="371.350313091,473.431341396,4" shape="circle">
<area title="Seppel" alt="Text" coords="416.094992396,395.196570387,4" shape="circle">
<area title="Jan" alt="Text" coords="525.34174187,302.383891736,4" shape="circle">
<area title="Nika" alt="Text" coords="365.829865644,269.340634416,4" shape="circle">
<area title="Mario" alt="Text" coords="525.34174187,302.383891736,4" shape="circle">
klappt aber nicht^^
Zusatzinfos:
Das Auslesen der Namen und Koordinaten mit preg_match_all klappt wunderbar, der Haken scheint bei preg_replace zu liegen
Danke im Voraus
mfG Hoschi