Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Output buffer, zmiana contentu przed wyświetleniem, ob_start, ob_get_contents
Strelok
post 13.02.2018, 21:42:47
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 13.02.2018

Ostrzeżenie: (0%)
-----


Witam.

Potrzebuję wskazówek odnośnie rozwiązania pewnego problemu.
Mianowicie planuję napisać prosty skrypt, który będzie podpinany do strony internetowej (np. w index.php), a jego zadaniem ma być przechwycenie odpowiedzi, która trafia do przeglądarki, następnie wykonanie na przechwyconej do bufora zawartości dowolnych operacji (głównie typu string replace) i następnie zwolnienie zmienionej zawartości.
Skrypt ma być pewnego rodzaju rozbudową callbacka z użyciem ob_start(). Klasa z metodami, gdzie każda metoda odpowiada za inne operacje na tym samym przechwyconym do bufora "contencie".

  1. function callback($buffer)
  2. {
  3. // replace all the apples with oranges
  4. return (str_replace("apples", "oranges", $buffer));
  5. }
  6.  
  7. ob_start("callback");


Sposób w jaki jest to realizowane powyżej chciałbym rozbudować do formy jaką opisałem.
Główny problem - w jaki sposób złapać content np. do zmiennej i na tej zmiennej stosować dowolne metody jednej klasy i na koniec zwrócić zmieniony już bufor.

Oczywiście znalazłem skrypty, które realizują przechwycenie contentu do zmiennej poprzez ob_get_contents(), lecz owy content w znalezionych przykładach jest wyświetlany tuż przed ob_get_contents() na potrzeby danego przykładu:

  1. echo "Hello ";
  2. $out1 = ob_get_contents();
  3. echo "World";
  4. $out2 = ob_get_contents();
  5. var_dump($out1, $out2);


Zatem jak zrealizować to w taki sposób, aby przechwycić cały content strony metodą z callbacka i jednocześnie zapisać to w jakiejś zmiennej, na której będzie można wykonywać dowolne operacje odrębnymi metodami z klasy?

Z góry dziękuję za pomoc.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 21.02.2018 - 00:34