![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 105 Dołączył: 7.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Tylko w jednym z tych miejsc, gdzie znajduje się kod PHP ma się pojawić TAK. Losowo, przy odświeżeniu strony. Metoda wstaw() zwraca tylko raz "TAK" (inaczej zwraca pusty string), w zależności od tego, ile będzie miała możliwych miejsc do losowania. Czy przed wykonaniem takiego kodu jest jakaś możliwość, by najpierw zliczyć w ilu miejscach metoda wstaw() będzie wywołana? Bo problem jest taki, że nigdy nie znam ilości tych <?php echo $a->wstaw(); ?> w danym tekście bo jest ona zmienna, zależnie od tekstu. Tutaj występuje 4 razy, gdzieś indziej 1, albo 10. Obejściem byłoby wstawienie tam jakiegoś unikalnego ciągu znaków i str_replace w buforze po zainicjowaniu ob_start. Ale to taka brzydka metoda i do tego nie chciałbym zmieniać treści tekstu. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Widze dwa rozwiazania:
1) Skoro dany szablon ma te liczbe na sztywno, to zapisuj info jaki szablon jaka liczba. Wowczas ladujac strone z danym szablonem bedziesz wiedzial co i jak 2) Druga metoda jest gorsza, ale bardziej uniwersalna: Funkcja wstaw powinna zwracac zawsze jakis staly tekst powiekszony o 1, np: #REKLAMA_1#, #REKLAMA_2#,.... #REKLAMA_15# Efekt wykonania szablonu od razu nie wyswietlaj. Wpierw zapisz go do zmiennej. Wiesz juz ile razy wykonalo się wstaw() - mozesz to zapisywac w jakiejs zmiennej globalnej. Losujesz teraz dla jakiej liczby masz wstawic tresc reklamy. Wylosowales np. 5. Czyli podmiieniasz #REKLAMA_5# na tresc reklamy, a pozostale #REKLAMA_x# podmieniasz na "nic". I dopiero teraz wyswietlasz efekt wykonania szablonu |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 02:32 |