Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Uporządkowanie kodu HTML przed wysłaniem do przeglądarki
craft91
post 13.07.2012, 13:32:16
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 4.10.2011

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


Witam, czy istnieje sposób na uporządkowanie kodu HTML przed wysłaniem do przeglądarki?

Zawsze w swoich aplikacjach używam buforu, który na końcu po prostu się pokazuje.

W kodzie php używam szablonów itd., które sprawiają, że kod wygląda super, ale nie potem w kodzie źródłowym, który może podejrzeć użytkownik. Jednak ładnie by było, gdyby kod ten był uporządkowany.
Automatycznie porządkuje go np. Firefox, ale inne przeglądarki nie, z tego, co mi wiadomo.
Go to the top of the page
+Quote Post
Mephistofeles
post 13.07.2012, 13:38:14
Post #2





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


A po co to? Kod lepiej skompresować, usunąc białe znaki, a nie bawić się w ładny wygląd w źródle.
Btw Chrome też ma pretty-printer.
Go to the top of the page
+Quote Post
craft91
post 13.07.2012, 14:01:13
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 4.10.2011

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


Dziękuję za szybką odpowiedź, ale mimo wszystko chciałbym się dowiedzieć, czy jest na to sposób i jeśli tak, jaki.
Pytałem, jak to zrobić, a nie, jakie płyną z tego korzyści smile.gif

Gdyby ktoś znał, odpowiedź, byłbym wdzięczny.

Oczywiście, jeśli okaże się to zbyt skomplikowane, trudne, niewarte zachodu, zaniecham tego pomysłu.

Jeśli chodzi o kompresję, ciekawa uwaga, sprawdziłem na przykładowym pliku mojej witryny:
przed skompresowaniem: 8477b, po skompresowaniu 5773b. To ponad 30% mniej. Ale z drugiej strony... to nawet nie 3kb. Kompresja samego kodu źródłowego chyba ma bardzo małe znaczenie, kiedy na stornie pojawiają się obrazki inna zawartość, która waży znacznie więcej. Właśnie dlatego uporządkowany kod w tym przypadku chyba byłby dla mnie słuszniejszym rozwiązaniem.
Go to the top of the page
+Quote Post
Crozin
post 13.07.2012, 14:13:20
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Kod źródłowy strony niemal zawsze przegląda się przy pomocy narzędzi deweloperskich udostępnianych przez przeglądarkę, więc również nie rozumiem po co upiększać ten kod.

Jednak wracając do tematu. Musiałbyś tuż przed wysłaniem finalnego kodu przechwycić go, a następnie przy pomocy jakiegoś narzędzia ładnie sformatować. Mógłbyś to zrobić np. przy pomocy DOMDocument (patrz: DOMDocument::formatOutput) - może i nie najlepsze narzędzie jeżeli zależy Ci wyłącznie na sformatowaniu kodu, ale też da radę.
Go to the top of the page
+Quote Post
craft91
post 13.07.2012, 14:51:18
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 4.10.2011

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


Popatrzyłem mocno na DOMDocument, ale wydaje mi się, że nadaje się on do formatowania XML, nie XHTML, może jestem w błędzie.

Ale mój kod formatuje baardzo minimalnie. Poza tym nie idzie mu robienie odstępów. Dodam, że kod jest dobrej jakości, poprawny itd. Inne pomysły? Pytam, bo przeszukałem Google'a i mam wrażenie, że nie ma na to sposobu (oprócz własnego parsera...)
Go to the top of the page
+Quote Post
viking
post 13.07.2012, 14:56:00
Post #6





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


Możesz http://www.php.net/manual/pl/tidy.parsestring.php przelecieć chociaż też nie widzę sensu. Raczej w ustawieniach modyfikuje się żeby przy zmiennej DEV był ładny kod, a kiedy ustawione PROD usuwał co zbędne i kompresował.


--------------------
Go to the top of the page
+Quote Post
craft91
post 16.07.2012, 00:22:52
Post #7





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 4.10.2011

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


Każde z w/w narzędzi jest niedoskonałe. Dziękuję za odpowiedzi. Nie będę się już przejmował białymi znakami w wyjściowym kodzie HTML smile.gif
Go to the top of the page
+Quote Post
wNogachSpisz
post 16.07.2012, 12:27:47
Post #8





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Output i tak prawie zawsze zostanie skompresowany, zrobi to moduł apacha.

W Codeigniterze możesz to rozwiązać na dwa sposoby:
1. Rozszerzyć biblitekę CI_Output przez utworzenie nowej o nazwie MY_Output i zadeklarować w niej nową funkcję _output.
2. Założyć tzw system hook (coś w rodzaju eventów) pod zdarzenie "display_override".
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 Wersja Lo-Fi Aktualny czas: 1.07.2025 - 15:46