2009-07-28 8 views
5

Jak pobrać ciąg, który funkcja echo do zmiennej?Przechowywanie echo ciągi w zmiennej w PHP

mam iść funkcję podobną do tej:

function echoer() { 
     echo 'foo'; 
    } 

nie mogę zmienić jego źródło. Chciałbym zapisać "foo" w zmiennej zamiast pozwolić jej na standardowe wyjście. Jak to się robi w PHP?

Odpowiedz

17

ob_start() uruchomi bufor wyjściowy, który zniesie całą zawartość. Następnie, po wykonaniu wszystkich danych wyjściowych, wywołaj numer ob_get_contents() i przypisz go do zmiennej. Na koniec zadzwoń pod numer ob_end_clean(), aby ponownie rozpocząć normalne echo.

 
ob_start() 

echo "This content won't be echoed immediatley"; 

$contents = ob_get_contents(); 

ob_end_clean(); 

echo $contents; 

jak wspomniano Milen, sprawdź Output Control functions.

Metoda ta jest bardzo przydatna, zwłaszcza w przypadku pracy z Wordpress, który jest ustawiony na wyjście większość rzeczy, takie jak komentarze, i nie zapewnia funkcję zwrotną.

+0

BTW. 100. odpowiedź! Tak szczęśliwy! –

Powiązane problemy