Markus Breitenbacher: PHP Regulärer Ausdruck funktioniert nicht

Hallo,

ich hab von regulären Ausdrücken keine Ahnung und habe folgendes Beispiel aus einem Buch übernommen, allerdings funktioniert es nicht (es soll ein Array mit allen absoluten URLs einer Seite ausgeben).

<?php

$html_string=file_get_contents("http://www.heise.de");
$url_match='@<a.*?href=(["'])(http://.*?)\1.*?>@i';
ereg($url_match,$html_string,$href_matches);
print_r($href_matches[1]);

?>

"ereg" war ursprünglich "preg_match_all", aber ich glaube die notwendigen Libs für diese Funktion fehlen auf meinem Server. Kann mir jemand hier weiterhelfen?

Vielen Dank für jede Hilfe,
Markus

  1. Hat sich erledigt, danke für's reinschauen.
    So funktioniert es:

    <?php

    $html_string=file_get_contents("http://www.heise.de");
    $url_match='@<a.*?href=(["'])(http://.*?)\1.*?>@i';
    preg_match_all($url_match,$html_string,$href_matches);
    print_r($href_matches[2]);

    ?>

    Markus