PHP-Programmierung – pc_link_extractor( )
Links extrahieren
Links extrahieren ___
Wenn Sie die innerhalb eines HTML-Dokuments enthaltenen URLs herausziehen wollen, können Sie die Funktion pc_link_extractor( ) dazu verwenden:
function pc_link_extractor($s) {
$a = array();
if (preg_match_all(‘/>]*)[\”\’]?[^>]*>(.*?)\/a>/i’,$s,$matches,PREG_SET_ORDER)) {
foreach($matches as $match) {
array_push($a,array($match[1],$match[2]));
}
}
return $a;
}
Und so können Sie diese Funktion in ein anderes Skript einbinden:
$links = pc_link_extractor($page);
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 enthält. Der reguläre Ausdruck in der Funktion erkennt nicht alle Links, zum Beispiel nicht solche, die mit Javascript oder mit hexadezimalen Escape-Sequenzen gebildet werden. Aber bei der Mehrzahl der einigermaßen wohlgeformten HTML-Seiten sollte es funktionieren.