13.10 Links aus einer HTML-Datei extrahieren

Problem

Sie möchten die innerhalb eines HTML-Dokuments enthaltenen URLs herausziehen.

Lösung

Verwenden Sie die in Listing 13.10 dargestellte Funktion pc_link_extractor( ).

function pc_link_extractor($s) {
  $a = array();
  if (preg_match_all('/<a\s+.*?href=[\"\']?([^\"\' >]*)[\"\']?[^>]*>(.*?)<\/a>/i',
                     $s,$matches,PREG_SET_ORDER)) {
    foreach($matches as $match) {
      array_push($a,array($match[1],$match[2]));
    }
  }
  return $a;
}

Listing 13.10 pc_link_extractor( )

Zum Beispiel:

$links = pc_link_extractor($page);

Diskussion

Die Funktion pc_link_extractor( ) gibt ein Array zurück. Jedes Element dieses Arrays ist selbst wiederum ein Array, dessen erstes Element das Ziel des Links und dessen zweites Element den verlinkten Text ...

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.