Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] generowanie kodu php do zmiennej
nu_moon
post
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 26.01.2006

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


Witam!

Mam taka oto zagadkę.

Powiedzmy że mam jakiś przykładowy kod html/php w jednym z plików, np. htmlowa tabelka z wstawionym za pomoca phpowych znaczników aktualnym czasem. Samo wykonanie tego pliku powoduje oczywiście wydrukowanie tabelki i informacji jakie wydrukował php w odpowiednich miejscach.

Jesli w którymś miejscu w progamie wywołam taki plik instrukcja require lub include, dostane na ekranie w danym miejscu dokładnie taki output.
Teraz pytanie
Czy można w jakiś sposób uzyskać taki efekt jak w powyższym przykładzie, tyle że zamiast drukować wszystko na ekran chciałbym taki output mieć w z miennej. Czytałem o funkcji eval(), ale zdaje sie ze nie akceptuje ona kodu html/php razem, przynajmniej ja dostaje jakies błędy.
Go to the top of the page
+Quote Post
akurczyk
post
Post #2





Grupa: Zarejestrowani
Postów: 201
Pomógł: 5
Dołączył: 15.07.2008
Skąd: Kłodzko

Ostrzeżenie: (10%)
X----


Żamień w kodzie <?php na ". i odwrotnie, a później załaduj kod do zmiennej:
  1. <?php
  2. $zmienna = "kod";
  3. ?>

Żeby ją wydrukować wystarczy:
  1. <?php
  2. echo $zmienna;
  3. ?>


--------------------
Pozdrawiam
Aleksander Kurczyk
Porady dla webmasterów
Go to the top of the page
+Quote Post
blooregard
post
Post #3


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




<?php

ob_start();  //start buforowania

?>

<table>

<tr><td><?php echo $zmienna_w_tabelce; ?></td></tr>

</table>

... (itd - caly kod tabelki ) ...                     // jest ona BUFOROWANA, nie wyswietla sie na ekranie

<?php

$zmienna = ob_get_contents();    // tabelke masz teraz cala w zmiennej $zmienna

ob_end_clean();  //czyscisz bufor i zapobiegasz wyswietleniu jego zawartosci

?>

A wyświetlenie tableki realizujesz jedną instrukcją:

echo $zmienna;


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
batman
post
Post #4





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




@blooregard
Proszę poprawić bbcode.

Przenoszę na przedszkole.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
nu_moon
post
Post #5





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 26.01.2006

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


Cytat(blooregard @ 27.09.2008, 18:42:36 ) *
<?php

ob_start();  //start buforowania

?>

<table>

<tr><td><?php echo $zmienna_w_tabelce; ?></td></tr>

</table>

... (itd - caly kod tabelki ) ...                     // jest ona BUFOROWANA, nie wyswietla sie na ekranie

<?php

$zmienna = ob_get_contents();    // tabelke masz teraz cala w zmiennej $zmienna

ob_end_clean();  //czyscisz bufor i zapobiegasz wyswietleniu jego zawartosci

?>

A wyświetlenie tableki realizujesz jedną instrukcją:

echo $zmienna;


Jakoś nie wpadłem na to że można tego mechanizmu użyć w ten sposób, ale pomogło
Dzięki
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 Aktualny czas: 20.08.2025 - 14:30