String php Nesne

1 Cevap php

Ben bu kadar nazik ve lütfen bana ayı ... kendime php öğretmeye çalışıyorum.

I this tutorial dosyaları önbelleğe nasıl ... Ben önbellek istiyorum sayfasında sadece HTML takip etmeye çalışıyorum, bu yüzden ben sadece veri ile başa çıkmak için php modifiye ettik. Ben olsun sonuçlarını değiştirmeye çalıştığınızda önbelleğe alma kısmı çalışma olduğunu biliyorum, bu "Yakalanabilir ölümcül hata: sınıf önbelleğe alma Nesne dizeye dönüştürülür olamazdı" altında str_replace hattı.

Ben __toString method here kullanarak denedim, ve ben serialize kullanarak denedim. Kaçırdığım bir şey var mı?

Düzenleme: Oh ve ben bile denedim casting operators.

 $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 );

Benim var_dump ($ önbelleğe alma); aşağıdaki gibidir:

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

Tamam, sorun caching.php $ önbelleğe dize değeri dönen ile değil olduğunu şimdi görüyoruz. Herkes aşağıdaki linki kontrol ve çalışma değil bana neden anlamaya yardımcı olabilir? Teşekkürler!

Ben sadece benim tüm caching.php dosyayı gönderdi here.

1 Cevap

Sitede in kod URL'den sayfayı indirerek eserlerini vermek ve bunu ayrıştırmak sanatçılar için ve daha sonra önbellek dosyaya kaydedebilirsiniz bağlantı. Önbellek nesnesi, yalnızca iki değişken içerir; filePath ve apiURI. Eğer sayfa ayrıştırmak nasıl değiştirmek istiyorum ve önbelleğe XML dosyasına dönüştürülür ise, stripAndSaveFile işlevini değiştirmek gerekir.

İşte ne istediğini yapmak Caching.php değiştirmek için nasıl bir örnek:

  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:

Diğer seçenek yapabileceği sınıfını kullanarak php-kodu, Caching sınıfını genişletmek için:

  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 );