IP-Doubletten in einem Text finden

Soweit kapiert, aber bis ich das mal selber hinbekomme, wird wohl noch einige Zeit vergehen :rolleyes:
Woher weiss $out eigentlich, was alles rein kommt? Ist das die Geschichte mit den Klammern? Also alles was geklammert ist, wird bei $out eingefügt?

Dann noch Fragen zu
PHP:
$double=array_unique(  array_diff_assoc(   $out[3],array_unique($out[3])    ));
foreach($out[3] as $k => $v)
  {
    if(in_array($v,$double))echo '<br>'.$v.' : '.$out[1][$k];
  }
Ich verstehe die Verschachtelung für $double nicht so ganz :confused:
Soweit ich weiß entfernt array_unique doppelte Einträge aus einem Array. array_diff_assoc zeigt Unterschiede in Arrays auf. Irgendwie arbeiten die doch dann gegeneinander oder nicht?
Bekomme das gerade nicht in meinem Kopf geordnet :-(
 
Zum 1.
Ja, in $out findest du alles was geklammert ist zzgl. dem gesamten gefundene Suchmuster.
Somit befinden sich dort auch manchmal Sachen, die man garnicht benötigt, weil man die Klammern in RegExp auch für andere Sachen benötigt....z.B. für alternative Suchmuster, wie bspw. beim Port.
Ich lass mir da idR. das Ergebnis anfangs per print_r() ausgeben, um zu gucken, wo was ist, man verzählt sich ja recht schnell bei den ganzen Klammern :-)

Zu $double:
Jo, das siehst du schon richtig, aber diese Unterschiede werden ja benötigt.
Es wird $out[3] verglichen mit $out[3], aus dem alle doppelten Werte entfernt wurden.
Ergebnis ist ein Array mit allen Elementen aus $out[3], welche nicht in dem bereinigten $out[3] vorkommen(wobei array_diff_assoc() auch die Schlüssel berücksichtigt, array_diff() würde dort keine Ergebnisse liefern).
Ich verändere ja mit array_unique($out[3]) den ursprünglichen Array nicht, sondern erzeuge einen neuen...wahrscheinlich ist es das, was dich irritiert hat.
 
Zurück