Ankündigung

Einklappen
Keine Ankündigung bisher.

Etwas in eine Funktion einfügen ..

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Etwas in eine Funktion einfügen ..

    Hallo!

    Ihr kennt bestimmt das "Simple HTML Dom" von http://simplehtmldom.sourceforge.net/ - anders gesagt, ein einfacher HTML Parser.

    Nun denn ..
    Ich habe hier einmal eine $html und einmal eine Funktion.
    Nun habe ich eine Funktion geschrieben die in etwa so aussieht:

    PHP-Code:
    $html file_get_html('http://www.blablabla.tld/');
    function 
    getMatch_flag($int_flag)
    {
        
    $r_flag $html->find('img'$int_flag)->src// Aus IMG wird die SRC gelesen
        
    return  $r_flag // Gibt die URL vom Bild zurück

    Leider funktioniert dies nicht so wirklich ..

    Wie bewege ich die Funktion die $html mitzunehmen ohne das ich die in die Funktion reinpacke?
    Ich möchte nicht wirklich - wenn ich die Funktion 20 mal verwende - dass ich die Seite 20 mal wegen einer URL neu laden muss.

    Vielen Dank!


  • #2
    1. Du setzt die Variable $r_flag1 gibst aber $r_flag zurück.
    2. Lies dich zur Sichtbarkeit von Variablen ein. $html gibt es innerhalb deiner Funktion nicht.

    Kommentar


    • #3
      Zitat von Tropi Beitrag anzeigen
      1. Du setzt die Variable $r_flag1 gibst aber $r_flag zurück.
      2. Lies dich zur Sichtbarkeit von Variablen ein. $html gibt es innerhalb deiner Funktion nicht.
      1. Das hatte ich vor kurzem ein stück weit editiert. Zumindest was z.B. $r_flag etc. anbetrifft.
      2. Das Ding ist, das $html -> file_get_html('http://www.blablabla.tld/')
      Wenn ich das nun in die Funktion einbaue und nun 10 mal diese Funktion aufrufe, wird er diese Seite 10 mal aufrufen obwohl es auch nur einmal reichen würde ..

      In dem Sinne:
      Wie bekomme ich es hin, das die Funktion anfängt das auszulesen ohne das ich den Content der Seite mehrmals aufrufen muss?
      Anders gesagt, wie bekomme ich die $html 1 mal aufgerufen, die Funktion aber 10 mal um von der $html gleich alles auszulesen?

      Kommentar


      • #4
        Um auf etwas in einer Funktion zuzugreifen, übergibt man es als Parameter.

        Hoffe das reicht als Antwort.
        Zitat von derwunner
        "Ein FISI ist auf gut-deutsch der Netzwerker. Das heißt Du gehst rauß zum Kunden oder auf die Straße und verlegst Leitungen" - derwunner 2015

        Kommentar


        • #5
          Zitat von CrocoBlack Beitrag anzeigen
          Um auf etwas in einer Funktion zuzugreifen, übergibt man es als Parameter.

          Hoffe das reicht als Antwort.
          Ich hab' mal den Tipp von Tropi genommen und es scheint mit
          PHP-Code:
          global $html
          zu funktionieren.

          Meinst du damit das gleiche oder gibt es da noch etwas anderes?

          Kommentar


          • #6
            Nein, er meint etwas anderes. => http://at1.php.net/manual/de/functions.arguments.php

            Das ist auch die Methode die ich dir empfehlen würde - pardon, ich dachte das Handbuch würde auf Probleme mit "global" hinweisen. Du solltest die Funktion als abgeschlossenes System sehen. Kann deine Funktion tatsächlich nur mit $html bzw. mit dieser speziellen Seite arbeiten? => Nein! Du könntest dir damit ja alles Bilder von zwei verschiedenen Webseiten auslesen lassen. Und jetzt überleg wie du das machen würdest mit global und dann schau wie es mit Paramtern funktioniert.

            Kommentar

            Lädt...
            X