Dennis: HTML einlesen und IDs rausfiltern

Beitrag lesen

Hi yildi,

$ids[] = preg_replace('%www.url.de?ID=([0-9])%', '\1', $line);

preg_replace() halte ich hier für einen falschen Ansatz - du willst ja eigentlich nichts ersetzen (dein Gedanke war durch das Ersetzen alles HTML wegzubekommen, aber das ist von-hinterum-durch-die-Brust-ins-Auge ;-).

Versuche stattdessen mit preg_match_all() alle Links/URLs einzulesen - könnte z.B. so aussehen:

$anz_urls = preg_match_all('%(href|src)="([^"]+)"%', $text, $treffer);

Zum Einlesen des Textes würde ich dann nicht file() empfehlen, sondern file_get_contents(), was den kompletten Text in eine Variable liest und das nicht in ein Array aufsplittet.

Schau dir dann einfach mal mit print_r($treffer) an, wie die Struktur des $treffer-Arrays aussieht (mag etwas gewöhnungsbedürftig sein) - du kannst das Unterarray von $treffer was die URLs enthält (ich glaube es müsste $treffer[2] sein) dann mit foreach durchgehen.

MfG, Dennis.