![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 3.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Cześć, natrafiłem na tego typu problem. Pisze sobie na własne potrzeby (w ramach ćwiczeń) prosty system CMS. Powiedzmy, że użytkownik może stworzyć sobie za pomocą tego systemu, galerię zdjęć, którą będzie mógł później umieścić w dowolnym miejscu strony umieszczając w tekście specjalnie wygenerowany dla danej galerii kod typu {{gallery}}. Samo wyodrębnienie tego znacznika z tekstu przed wyświetleniem nie jest problemem. Powiedzmy, jest to na zasadzie - funkcja przeszukuje tekst, po znalezieniu konkretnego znacznika, wywołuje odpowiednią funkcję, która zmienia przykładowe {{gallery}} na coś innego i robi to do skutku, aż wszystkie elementy zostaną podmienione. O ile podmiana znacznika, na jakiś tekst nie jest problemem, o tyle, nie mam pomysłu na aby w miejscu gdzie on się znajduje w tekście została wczytana dana galeria zdjęć.
Zastanawiam się też nad samym skryptem przeszukiwania zmiennej $text na zawartość tych specjalnych znaczników. Na chwilę obecną działa to na zasadzie, że mam pewną tablicę, w której przechowuje frazy, które mają być zamienione na inne, jeśli pojawią się w tekście. Czyli odpala się pętelka, porównuje zawartość zmiennej tekst, na obecność pierwszego elementu, później na zawartość drugiego elementu itd. Na chwilę obecną jest to ok, natomiast przypuszczam, że gdyby projekt był bardziej rozbudowany to rozwiązanie by się nie spisało gdyż wydajnościowo zapewne nie powala. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 556 Pomógł: 40 Dołączył: 20.07.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 3.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Znam te funkcje. Tak jak napisałem zamianę słów kluczowych na jakieś inne potrafię zrobić. Nie wiem natomiast jak zrobić, aby do zmiennej $text czyli jakby tej przechowującej treść, zapisać, jakby ścieżkę to skryptu galerii" który wykona się po wyświetleniu $text, zastępując "słowa kluczowe" skryptami galerii.
Przykładowy tekst: To jest przykładowy tekst {{gallery}}, w środku tekstu wyświetla się galeria. Po przetworzeniu: "To jest przykładowy tekst <w tym miejscu wyświetla się galeria>, w środku tekstu wyświetla się galeria [..]" Coś w tym stylu. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 556 Pomógł: 40 Dołączył: 20.07.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 3.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Idąc tym tokiem rozumowania, w zasadzie można by tylko z gotowców korzystać. Napisałem wyraźnie, że to dla ćwiczeń.
Ale mimo wszystko dzięki za pomoc. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 556 Pomógł: 40 Dołączył: 20.07.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
nic nie stoi na przeszkodzie go pobrać i zobaczyć jak oni sobie poradzili z twoim problemem szczególnie że {{znacznik}} jest taki ja u ciebie
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 3.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Jasne, przez czytanie czyjegoś działającego kodu, można się dużo rzeczy dowiedzieć.
Natomiast znalazłem coś o ob_start() Z tego co się zdążyłem zorientować, buforuje dane wyjściowe, a dzięki temu wyświetli je dopiero kiedy sobie tego zażyczę. Po szybkim przetestowaniu działa. Co o tym sądzicie? Ma to swoje jakieś większe wady lub coś w tym stylu? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 12:09 |