![]() |
![]() ![]() |
![]() |
![]()
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. |
|
|
![]()
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. |
|
|
![]()
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 ![]() 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. |
|
|
![]()
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ę. |
|
|
![]()
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...) |
|
|
![]()
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ł.
-------------------- |
|
|
![]()
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
![]() |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
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". |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 1.07.2025 - 15:46 |