Ergebnis 1 bis 6 von 6

Thema: Theorie: Rekursiver Durchgang (Links)

  1. #1
    Großmeister(in) Avatar von Darkxor
    Registriert seit
    17.11.2007
    Ort
    NRW
    Beiträge
    663
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Theorie: Rekursiver Durchgang (Links)

    Hallo,
    ich habe eine Funktion geschrieben, welche die Links einer Seite ausliest und in einem Array zurückgibt.

    [0] http://..../index.php
    [1] http://..../123.php
    ...
    Diese Funktion soll für jede Seite die ausgelesen wird, wiederholt werden. Dies ist eben nötig, da verschiedene Seiten verschiedene Links haben können.

    Nun liegt mein Problem darin, dass ich nicht weiß wie ich diese Sache vom Ablauf her angehen soll. Es müssen ja auch von den neuen Seiten wieder alle Seiten aufgerufen werden usw... und am Ende soll halt trotzdem nur ein Array zurückkommen mit allen Links wo man mit http://de.php.net/array_unique die doppelten Einträge entfernt.

    Wie könnte man sowas angehen?
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    -

  2. #2
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Theorie: Rekursiver Durchgang (Links)

    Benutze kein array_unique.
    Ein Beispiel:
    PHP-Code:
    function getTheLinks($page)
    {
      
    $a = array();
      
    getTheLinksImpl($page$a);
      return 
    $a;
    }
    function 
    getTheLinksImpl($page, array &$a)
    {
      
    $a[$page] = true;
      foreach(
    getSubLinks($page) as $sub)
        if(!isset(
    $a[$sub]))
          
    getTheLinksImpl($sub$a);

    So einfach geht das...

  3. #3
    Großmeister(in)
    Themenstarter
    Avatar von Darkxor
    Registriert seit
    17.11.2007
    Ort
    NRW
    Beiträge
    663
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Theorie: Rekursiver Durchgang (Links)

    Hallo,
    vielen Dank für dein Beispiel.

    Ganz ehrlich. Da wäre ich niemals drauf gekommen, zumal ich schon das Wissen über Referenzen nicht mehr parat hatte und erst suchen musste was dieses & vor dem Array bedeutete.

    Nachfolgend mal meine Kommentierung, in der ich hoffentlich die Funktionsweise richtig verstanden habe und allen weiteren helfe, sich leichter reinzudenken

    PHP-Code:
    <?php
    function getTheLinks($page//Wird allgemein aufgerufen
    {
      
    $a = array(); //$a wird als Array deklariert
      
    getTheLinksImpl($page$a); //Die Links der Seite werden rekursiv ausgelesen
      
    return $a//Das Array wird zum Schluss zurückgegeben
    }
    function 
    getTheLinksImpl($page, array &$a//Seite... und $page kriegt auch nachher die Subpages / &$a erstellt eine Referenz  zum Array $a aus getTheLinks()
    {
      
    $a[$page] = true//$a wieder das Array und $page bekommt die aktuelle Seite + einfach den Boolean Wert true
      
    foreach(getSubLinks($page) as $sub//Nun werden von der Seite die ganzen Links ausgelesen  und in $sub gespeichert
          
    if(!isset($a[$sub])) //Wenn in dem Array $a das Element $sub noch nich besteht...
              
    getTheLinksImpl($sub$a); //...wird erneut diese Funktion aufgerufen, das Spiel beginnt von vorne und die Seite wird mit $a[$page] = true; ins Array-Element geschrieben.
    }
    ?>
    Hast du etwas in diesem Bereich studiert? Es könnte auch daran liegen, dass mir das ich noch nicht alt so lange programmiere und mir solche Vorgehensweisen noch nicht einfallen, aber finde ich schon sehr bemerkenswert.

    Danke nochmal.
    -

  4. #4
    Bandit
    Gast

    Standard AW: Theorie: Rekursiver Durchgang (Links)

    Man muss nicht unbedingt studiert haben, um solche Scripte zu schreiben. Einiges an Erfahrung reicht auch. Und mit Rekursionen muss man sich auch richtig auseinander setzen, ansonsten hat man schnell mal eine Endlosschleife programmiert.

  5. #5
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Theorie: Rekursiver Durchgang (Links)

    Du musst natürlich aufpassen, dass du nicht das ganze Internet ausliest.

  6. #6
    Großmeister(in)
    Themenstarter
    Avatar von Darkxor
    Registriert seit
    17.11.2007
    Ort
    NRW
    Beiträge
    663
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Theorie: Rekursiver Durchgang (Links)

    Zitat Zitat von The User Beitrag anzeigen
    Du musst natürlich aufpassen, dass du nicht das ganze Internet ausliest.
    Da hab ich mir schon eine Prüfung eingebaut, sodass er nur Homepageinternen Links folgt
    -

Ähnliche Themen

  1. Links
    Von im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 23.03.2006, 22:54
  2. links....
    Von hayden im Forum HTML & CSS Forum
    Antworten: 4
    Letzter Beitrag: 22.03.2005, 10:30
  3. Diskussionsrunde "Theorie oder Praxis"
    Von [sG|W00tkaeppi] im Forum Off Topic und Quasselbox
    Antworten: 21
    Letzter Beitrag: 12.12.2004, 21:17
  4. Komprimierung von Bildern (Theorie)
    Von PatrickPaulsen im Forum Forum für Grafiken und Bildbearbeitung
    Antworten: 13
    Letzter Beitrag: 11.03.2004, 21:18

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •