Alle URLs aus HTML in Array lesen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
-
Hallo
ich möchte aus einem HTML-tag/code">Code alle URLs (Links) in ein Array holen,
dazu habe ich bisher folgenden Code:
$readfile = 'data/dercode1.htm'; $data = file_get_contents($readfile); $pattern = '/href="(.*?)"/is'; preg_match_all($pattern, $data, $result); echo "<pre>\r\n"; print_r($result); echo "</pre>\r\n";
damit bekomme ich aber nur die URLs,
bei denen im <a> TAG das href="..." mit doppelten Anführungszeichen ist
wie muss ich den pattern ändern, damit ich auch URLs bekomme,
die als href='....' einfache Anführungszeichen haben ?
kann man da als Suchmuster machen entweder " oder '
? wie ... oder besser ganz anders ?! ... Danke !
Beitrag zuletzt geändert: 13.12.2011 15:05:18 von seofav -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Versuch es so:
$readfile = 'links.html'; $data = file_get_contents($readfile); $pattern = '/<[^>]+href=["\'](.*?)["\']+>/is'; preg_match_all($pattern, $data, $result); echo("<pre>\r\n"); print_r($result); echo("</pre>\r\n");
EDIT:
Die 1. Version filtert alle hrefs mit " oder ' die in einem Tag stehen.
Ein Regex für alle hrefs die in Tags vorkommen:
Dabei wird dir aber hierbei$readfile = 'links.html'; $data = file_get_contents($readfile); $pattern = '/<[^>]+href=["\']?(.*?)[\s"\'>]/is'; preg_match_all($pattern, $data, $result); echo("<pre>Real result\r\n"); print_r($result); echo("</pre>\r\n");
nurhref="text mit leerzeichen"
zurückgegeben.text
Beitrag zuletzt geändert: 13.12.2011 16:27:22 von hackyourlife -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage