Frage

Ich versuche, mich php zu lehren ... so seien Sie freundlich und mit mir tragen.

Ich versuche dieses Tutorial folgen wie Dateien zwischenzuspeichern ... die Seite, die ich in dem Cache will, ist nur HTML, so habe ich die php geändert nur mit Daten umgehen. Ich weiß, dass der Cache-Teil funktioniert, es ist, wenn ich versuche, um die Ergebnisse zu ändern, die ich bekomme „Abfangbare fatale Fehler: Objekt der Klasse Caching nicht in einem String konvertiert werden kann“ in der str_replace Zeile unter

.

Ich habe versucht, die __ toString Methode hier , und ich habe mit serialize versucht . Gibt es etwas, was ich bin fehlt?

Edit:. Oh, und ich habe sogar versucht, Casting Operatoren

 $caching = new Caching( "my.htm", "http://www.page-I-want.com/" );
 $info = new TestClass($caching);
 $info = str_replace( "<img src='/images/up.jpg'>","<div class='up'></div>", $info );

Mein var_dump ($ caching); ist wie folgt:

object(Caching)#1 (2) { ["filePath"]=>  string(9) "cache.htm" ["apiURI"]=>  string(27) "http://www.page-I-want.com/" } 

Ok, ich sehe jetzt, dass das Problem mit der caching.php nicht dem Wert auf den $ caching String zurück. Kann jemand den Link unten heraus überprüfen und mir helfen, herausfinden, warum es nicht funktioniert? Dank!

Ich habe gerade gebucht meine ganze caching.php Datei hier .

War es hilfreich?

Lösung

Der Code in auf der Website, die Sie Werke verknüpfen, indem Sie die Seite von URL herunterzuladen Sie geben und es für Künstler analysieren und sie dann in die Cache-Datei speichern. Das Cache-Objekt enthält nur zwei Variablen; filePath und apiURI. Wenn Sie ändern möchten, wie die Seite analysieren und konvertiert die im Cache gespeicherte XML-Datei, sollten Sie die stripAndSaveFile Funktion ändern.

Hier ist ein Beispiel dafür, wie die Caching.php zu ändern zu tun, was man wollte:

  function stripAndSaveFile($html) {
        //mange the html code in any way you want
        $modified_html = str_replace( "<img src='/images/up.jpg'>","<div class='up'></div>", $html );
        //save the xml in the cache
        file_put_contents($this->filePath, $modified_html);  
  }         

Edit:

Andere Möglichkeit ist, die Caching-Klasse, in der PHP-Code mit der Klasse, die Sie tun könnten erweitern:

  class SpecialCaching extends Caching {
        var $html = "";
        function stripAndSaveFile($html) {
              //mange the html code in any way you want
              $this->html = $html;
        }
  }

  $caching = new SpecialCaching( "my.htm", "http://www.page-I-want.com/" );
  $info = $caching->html;
  $info = str_replace( "<img src='/images/up.jpg'>","<div class='up'></div>", $info );
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top