Edycja kodu HTML za pomocą PHP

0

Witam. Uczę sie PHP poprzez tworzenie prostych gier na przeglądarke i do jednej z tych gier potrzebuję, żeby za pomocą kodu PHP sprawnie edytowac wygląd strony np. dodawanie obrazków.
Wiem że mogę zrobić coś takiego:

<?php
print "<img src=\"obrazekPIERWSZY.png\" alt=\"\" />";
print "<img src=\"obrazekTRZECI.png\" alt=\"\" />";
?>

Co spowoduje wyświetlenie na stronie obrazka1 i obrazka 3. Chciałbym jednak wstawić Obrazek2 POMIĘDZY te dwa obrazki po pewnej akcji w kodzie PHP
tzn.

  • wyświetl obrazek 1
  • wyświetl obrazek 3
  • wykonaj kilka linijek kodu, zrób potrzebne obliczenia
  • wyświetl obrazek 2 przed obrazkiem pierwszym ale po obrazku trzecim

I stąd moje pytanie, czy da się w PHP wykasować część kodu HTML wstawionego wcześniej printem albo jakoś inaczej to wykombinowac zeby działało?

0

-wyświetl obrazek 2 przed obrazkiem trzecim ale po obrazku pierwszym

nie moge edytowac na anonimie xd

0

nie możesz użyć zmiennej w html i if'a do akcji?

2

Zasadniczo z poziomu PHP nie można "kasować" HTML'a.
Nieco konkretniej - PHP jest przetwarzane po stronie serwera. Jak już PHP przekaże coś do przeglądarki, to nie ma możliwości manipulowania przesłanymi danymi (trochę jak z wysłaniem listu- jak już go wsadzisz do skrzynki, to za bardzo nie masz możliwości zmienienia treści w kopercie).
To, o co Ci chodzi to jest grzebanie w DOM - https://pl.wikipedia.org/wiki/Obiektowy_model_dokumentu oraz https://www.w3schools.com/js/js_htmldom.asp.

Odpowiadając na Twoje pytanie - za bardzo nie masz możliwości zmieniania treści już stworzonej i przesłanej do przeglądarki strony z poziomu PHP.
Opcje są dwie:

  1. to, o czym napisałem powyżej, czyli grzebanie z poziomy przeglądarki w DOM. Do tego nie potrzebujesz PHP, ale JavaScript. Ewentualnie, jeśli chcesz uzależnić treść strony w sposób dynamiczny od działań na serwerze - zainteresuj się hasłem AJAX (https://pl.wikipedia.org/wiki/AJAX)
  2. twórz stronę w PHP, ale nie przekazuj jej na bieżąco do przeglądarki, tylko sobie "składaj klocki" i dopiero po całkowitym zakończeniu przetwarzania wypchnij w świat. W ten sposób, do czasu zakończenia działania przez Twój skrypt, możesz jeszcze modyfikować treść wynikową. Minusem jest to, że przy takim rozwiązaniu, do czasu zakończenia działania skryptu, po stronie klienta nie będzie żadnej treści, a jedynie napis "oczekiwanie".
0

Możesz też posłużyć się:
https://www.w3schools.com/cssref/css3_pr_order.asp
i zmienić kolejność wyświetlania elementów na stronie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1