kostenloser Webspace werbefrei: lima-city


href Wert aus HTML-Code auslesen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    suchsmart

    suchsmart hat kostenlosen Webspace.

    Hallo

    wie kann ich aus einem HTML-Code den href-Wert auslesen

    BSP:

    $code = '<p>Blabla bla <a target="_blank" href="http://google.de" title="Suchmaschine">Google</a> Bla blabla</p>';


    wie bekomme ich daraus die Zeil-Adresse (href-Wert) in eine Variable ?

    $zielurl = 'http://google.de';

    DOM auslesen oder RegEx ? ... und wie (Beispiel-Code bitte)



    Beitrag zuletzt geändert: 13.2.2012 11:29:31 von suchsmart
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. <?PHP
      // Original PHP code by Chirp Internet: www.chirp.com.au
      // Please acknowledge use of this code by including this header.
    
      $url = "http://www.example.net/somepage.html";
      $input = @file_get_contents($url) or die("Could not access file: $url");
      $regexp = "<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>(.*)<\/a>";
      if(preg_match_all("/$regexp/siU", $input, $matches)) {
        // $matches[2] = array of link addresses
        // $matches[3] = array of link text - including HTML code
      }
    ?>


    Quelle und Erläuterung: http://www.the-art-of-web.com/php/parse-links/

    Beitrag zuletzt geändert: 13.2.2012 11:37:33 von effektfabrik
  4. Du kannst via preg_match_all die Zeichenkette suchen und auslesen, wobei $ergebnis dann ein Array ist.

    $code = '<p>Blabla bla <a target="_blank" href="http://google.de" title="Suchmaschine">Google</a> Bla blabla</p>';
    
    preg_match_all("#href=\"([^\"]*)\"#",$code,$ergebnis);
    
    echo $ergebnis[0]
  5. Autor dieses Themas

    suchsmart

    suchsmart hat kostenlosen Webspace.

    Super, Danke

    da ich im Code nur einen Link erwarte, habe ich es mal ohne _all ausprobiert

    preg_match("#href=\"([^\"]*)\"#",$tmpcode,$matches); 
    $zielurl = $matches[1];


    und Danke @effektfabrik für das Beispiel mit Link zur Erklärung

    ... regular expressions scheinen ja doch sehr komplex zu ein .... oh oh

    ist es vielleicht mit DOM auslesen einfacher?
    (denn preg_match soll ja sehr Ressourcen hungrig sein)
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!