![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 292 Pomógł: 0 Dołączył: 10.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam zmieną $index a w niej całą zawartość strony $index = ' <html> <head> <title>tytuł</title> </head> <body> <div>tekst na stronie</div> </body> </html> '; chciałbym usunąć spacje które są po za obszarami <> czyli chciałbym uzyskać taki efekt $index = '<html><head><title>tytuł</title></head><body><div>tekst na stronie</div></body></html>'; czy jest do tego jakaś gotowa funkcja w php ? Z góry dziękuję za pomoc |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 32 Dołączył: 10.03.2004 Ostrzeżenie: (10%) ![]() ![]() |
http://php.net/manual/en/function.str-replace.php
Ten post edytował Lord 17.06.2016, 18:19:21 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 292 Pomógł: 0 Dołączył: 10.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 531 Pomógł: 55 Dołączył: 3.01.2016 Skąd: Łowicz Ostrzeżenie: (0%) ![]() ![]() |
Kod function czysc_html($html) {
$search = array('/\>[^\S ]+/s', '/[^\S ]+\</s', '/(\s)+/s'); $replace = array('>','<','\\1'); $html = preg_replace($search, $replace, $html); return $html; } |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 292 Pomógł: 0 Dołączył: 10.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 531 Pomógł: 55 Dołączył: 3.01.2016 Skąd: Łowicz Ostrzeżenie: (0%) ![]() ![]() |
a teraz
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 292 Pomógł: 0 Dołączył: 10.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
jo teraz super tylko żeby usunąć jeszcze te wiersze początkowe i końcowe ...
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
prościej było zapisać ten kod jak należy (IMG:style_emoticons/default/wink.gif)
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 531 Pomógł: 55 Dołączył: 3.01.2016 Skąd: Łowicz Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 292 Pomógł: 0 Dołączył: 10.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
o idealnie teraz z tym, że spacje i nowe linie z przodu <html i tyłu </html> się nie usuneły - dziwna sprawa
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Zdajesz sobie sprawę, że wynikowy dokument HTML będzie różnił się (strukturalnie, nie w zapisie) od oryginału? A to będzie miało spory wpływ na np. wygląd strony.
2. Jeżeli robisz to w celu zmniejszenia wielkości dokumentu - wykorzystaj kompresję, np. GZIP. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 292 Pomógł: 0 Dołączył: 10.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
1. Zdajesz sobie sprawę, że wynikowy dokument HTML będzie różnił się (strukturalnie, nie w zapisie) od oryginału? A to będzie miało spory wpływ na np. wygląd strony. 2. Jeżeli robisz to w celu zmniejszenia wielkości dokumentu - wykorzystaj kompresję, np. GZIP. 1. Nie rozumiem tego stwierdzenia - usuwają się tylko niepotrzebne spacje więc strona ma taki sam wygląd. 2. Zamiast robić echo to trzymam całą stronę w zmiennej i potem traktuje ją tą funkcją w celu optymalizacji - dokładnie tak - więc nie wiem po co by do tego wykorzystywać jakąś bibliotekę? (IMG:style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli np usuniesz spacje pomiędzy elementami listy inline znikną odstępy.
Kompresję zazwyczaj ustawia się na poziomie konfiguracji serwera. |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 531 Pomógł: 55 Dołączył: 3.01.2016 Skąd: Łowicz Ostrzeżenie: (0%) ![]() ![]() |
Ja z automatu kompresuję wynikowy kod HTML i nie zauważyłem aby kiedykolwiek miało to jakikolwiek wpływ na wygląd strony.
Dodatkowo mam włączoną kompresję, plus expires plików. |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
@piotr485: http://www.oracle.com/technetwork/articles...ace-092897.html - dotyczy XML-a, ale HTML jest pod tym względem podobny. Dołącz do tego kwestie takie jak wyświetlanie bądź nie odstępów pomiędzy elementami liniowymi czy interpretowanie białych znaków przez CSS-owe właściwości typu white-space. Poza tym porównaj sobie wielkość skompresowanego GZIP-em (Google: Apache/Nginx/dowolny-serwer html gzip compression) "zaśmieconego" i ręcznie "oczyszczonego" HTML-a - zapewne różnice będą skrajnie małe. Na koniec: jeżeli już tak bardzo by Ci zależało na takim wyglądzie finalnego dokumentu zastanów się nad wykorzystaniem jakiegoś systemu szablonów operujących na XML-u. Weź pod uwagę fakt, że poniższy kod jest poprawnym HTML5 a wszystkie "optymalizatory" bazujące na wyrażeniach regularnych zmodyfikują Ci błędnie zawartość atrybutu title:
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 531 Pomógł: 55 Dołączył: 3.01.2016 Skąd: Łowicz Ostrzeżenie: (0%) ![]() ![]() |
<img src="image.png" title="some > image < xxx" alt="xx">
Moje eregi zostawiają Twój przykład w stanie nienaruszonym (IMG:style_emoticons/default/wink.gif) --------------------------- Tu akurat się rozpędziłem i przegiąłem w linii 5, która jest do wywalenia bo ona popsuje niestety strony.
Gdzie kompresuj_html to post #10 Ten post edytował LowiczakPL 19.06.2016, 15:16:33 |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
Już Ci napisałem, zapisuj to poprawnie i nie kombinuj, bo więcej kosztuje Cie prze-renderowanie tego niż uzycie sugerowanego gzipa albo zapisanie to bez zbędnych białych znaków, dodatkowo od czegoś jest heredoc/nowdoc (IMG:style_emoticons/default/wink.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 17:57 |