kostenloser Webspace werbefrei: lima-city


Ist das möglich in Php zu realisieren ?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    rock4life

    Kostenloser Webspace von rock4life

    rock4life hat kostenlosen Webspace.

    Hey,
    ich will eine Seite machen wofür ich diese Funktion brauche:
    ich bin auf der Suche nach einer Funktion für PHP. Die Funktion soll HTML-Codes von Links erkennen und die URL's zu denen die Links führen in einem Array speichern. Geht das?
    vielen Dank
    mfg Rock4Life
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. c*****s

    Klar geht das. Hab ich auch schon gemacht. War eine Seite, die die letzten Beiträge hier auf lima-city anzeigt (also so wie auf der Startseite, nur nicht die ersten zehn sondern alle in den letzten 24 h.
    Mit file_get_contents($url) läd man die html-Datei runter, die man mit preg_match_all nach dem Muster für die Links <a href="..."> </a> durchsucht. preg_match_all speichert dann die Treffer in einem Array.
    preg_match_all verwendet reguläre Ausdrücke, um die zu verstehen, muss man sich ein bisschen einarbeiten...
  4. desaster-productions

    desaster-productions hat kostenlosen Webspace.

    und wenn du dich nicht in regexp einarbeiten willst (die habens mitunter ganz schön in sich) kannst du ja mal nach strpos und substr googlen und dir damit was in ner schleife zusammenstoppeln.
  5. Autor dieses Themas

    rock4life

    Kostenloser Webspace von rock4life

    rock4life hat kostenlosen Webspace.

    ok danke....aber tut mir leid ich kenn mich mit PHP leider noch nicht so gut aus...
    könnt ihr mir mal ein fertiges Script zeigen bzw. schicken ?
    Das wäre sehr sehr dankbar !
  6. c*****s

    Also so habe ich das gemacht:

    <?php
    $url = 'http://localhost';
    $content = file_get_contents($url);
    preg_match_all('/<a href="([^"]*)">([^>]*)<\/a>/', $content, $result, PREG_PATTERN_ORDER);
    print_r($result);
    echo '<br><br>';
    for ($i = 0; $i < count($result[0]); $i++) {
    	echo $result[0][$i];
    	echo '<br>';
    	echo $result[1][$i];
    	echo '<br>';
    	echo $result[2][$i];
    	echo '<br><br>';
    }?>


    preg_match_all speichert die Treffer in ein mehrdimensionales Array, hier wird sogar die Beschreibung des Links verarbeitet, wenn du das nicht willst, einfach '/<a href="([^"]*)">([^>]*)<\/a>/' durch '/<a href="([^"]*)"><\/a>/' ersetzen.

    Bin relativer Neuling auf dem Gebiet. Das Skript läuft eher lahm, also wenn mal einer der RegEx-Gurus drüber schauen könnte, ob man das noch verbessern kann?
  7. desaster-productions

    desaster-productions hat kostenlosen Webspace.

    naja, preg_match_all ist ja auch nicht grad die schnellste funktion und hat auch ziemlich overhead...
  8. 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!