PHP: Zachytávanie výstupu “echo” do premennej

Píšem vám jeden z mojich drobných “programátorských úspechov a pokrokov”… Pred časom som riešil jednu pekelnú funkciu vo Wordpress, ktorá namiesto toho, aby hodnotu vrátila cez return, hodnotu priamo vypisovala na obrazovku. To by bolo OK, keby som výstup zrovna nepotreboval ako parameter inej funkcie. :)

Nakoniec som dospel k celkom jednoduchému riešeniu. Teraz vám poviem, ako výstup (echo) uložiť do premennej. Skutočne som neprišiel na lepšie riešenie, takže ak ste už podobnú vec riešili, tam dole pod článkom môžete zanechať komentár :) Nezabúdajte: Bez vašich komentárov žiadny článok nie je kompletný!

  1. <?php
  2. /* Chceme získať email autora (napr. kvôli výpisu avatara), ale nechceme ho vypisovať */
  3.  
  4. // naštartujeme output buffering
  5.  
  6. // necháme funkciu, nech si email vypíše (pravdepodobne cez echo)
  7. comment_author_email();
  8.  
  9. // narveme výstup do premennej
  10. $email = ob_get_contents();
  11.  
  12. // zavrieme buffer a vyprázdnime
  13.  
  14. // áááá, výpis!
  15. echo "Email: $email";
  16. ?>

…to je všetko :) Dúfam, že sa to niekomu bude hodiť. Enjoy it!

PS: Našiel som ešte článok, ako zachytiť výstup do súboru :) . Tak ho sem dopĺňam.

Páčilo sa? Daj o článku vedieť svetu!

  • Jagg.cz
  • Linkuj.cz
  • Digg
  • del.icio.us
  • Facebook
  • Twitter
  • Technorati
  • LinkedIn
  • MySpace
  • email
  • Print
  • PDF
  • Add to favorites
  • pošli na vybrali.sme.sk

Ďalšie zaujímavé články


Kategória: PHP, MySQL | 516 zobrazení Author: Michal Tomanóczy