Tach!
{$tags = $doc->getElementsByTagName('h2');}
Ist dann $tags nicht schon ein array, das ich durch array_unique schicken könnte?
Das antwortete ich schon. Schau dir mit var_dump() an, was es ist (<pre> davor ausgeben), dann könntest du ein Array mit Objekten sehen. array_unique() könnte also nur komplette Objekte miteinander vergleichen. In Wirklichkeit ist $tags jedoch nicht mal ein Array sondern ein Objekt der Klasse DOMNodelist. Durch das kann man immerhin iterieren.
Wie befülle ich ein array bei jedem Durchlauf mit "$tag->nodeValue"
Das Hinzufügen einen neuen Arrayelements ist PHP-Grundlagenwissen. DU musst genau den gewünschten String, nicht mehr und nicht weniger hinzufügen. Kontrollier das bitte mit var_dump() - das was du hinzuzufügen gedenkst, als auch das Ergebnis (sprich: das Array).
und wie kann ich es dann durchsuchen - mit "in_array"?
Zitat aus dem PHP-Handbuch: "in_array — Checks if a value exists in an array" - klingt doch zielführend, oder?
dedlfix.