13.8 Links aus einer HTML-Datei extrahieren

Problem

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

Lösung

Verwenden Sie die in Beispiel 13-1 dargestellte Funktion pc_link_extractor( ).

Beispiel 13-1. 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;
}

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 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.