Größe des HTML-Outputs optimieren ?
Eddie
- php
Hallo allerseits,
mein PHP-Output hat teilweise einen Umfang von 50 KB besteht aber unter anderem aus einer Unmenge von leeren Zeilen ("\n") und Tabulatoren ("\t") - mehr, als auch fuer sauber aussehenden Code noetig waere.
(Das kommt daher, dass ich mit Templates arbeite, und die hinterlassen halt beim rekursiven Parsen jedesmal 'ne Menge Datenmüll).
gibt es bei PHP eine Funktion, die mir alles, was für eine saubere Darstellung im Browser nicht nötig ist, rausschmeißt?
Sprich: z.B. führende Tabulatoren können weg, Tabulatoren mitten im Wort aber nicht.
falls ich es per Hand machen muss, welche Zeichen kann ich dann gefahrlos entfernen?
haltet Ihr das Ganze für schwachsinnig, oder macht es tatsaechlich Sinn, z.B. im Hinblick auf Modem-Nutzer?
============
Danke Euch,
Eddie
Hallo Eddie!
- gibt es bei PHP eine Funktion, die mir alles, was für eine saubere Darstellung im Browser nicht nötig ist, rausschmeißt?
Ich glaube nein, weil PHP ja nicht unbedingt weiß, ob ein Leerzeichen nun zwischen 2 Tags steht und für di Darstellugn gebraucht wird, oder obs nur eien Einrückung ist.
Aber es kann natürlich sein, daß bereits andere Leute vor Dir sowas wollten und geschrieben haben.
Ansonsten könnte Dir Tidy (http://tidy.sf.net) vielleicht weiterhelfen.
- falls ich es per Hand machen muss, welche Zeichen kann ich dann gefahrlos entfernen?
Kommt wohl auf Deinen Quelltext an ;)
Grundsätzlich interessieren Zeilenumbrüche den Browser aber überhaupt nicht (Ausnahmefälle wie pre gibt es natürlich)
- haltet Ihr das Ganze für schwachsinnig, oder macht es tatsaechlich Sinn, z.B. im Hinblick auf Modem-Nutzer?
Das, was Du vorhast halte ich für nicht sehr sinnvoll.
Schau dir lieber mal mod_gzip (Umfanbgreiche Informationen zu mod_gzip http://schroepl.net/projekte/mod_gzip/ bzw. die eigentliche Projektseite http://sourceforge.net/projects/mod-gzip/) an.
Außerdem gibt es in PHP auch direkt die Möglichkeit Inhalte zu komprimieren.
Da sind die Zlib-Funktionen wohl recht hilfreich (http://de.php.net/manual/en/ref.zlib.php) und auch Output-Buffering (http://de.php.net/manual/en/ref.outcontrol.php) könnte dich weiter bringen.
MfG
Götz
Hallo,
- gibt es bei PHP eine Funktion, die mir alles, was für eine saubere Darstellung im Browser nicht nötig ist, rausschmeißt?
Sprich: z.B. führende Tabulatoren können weg, Tabulatoren mitten im Wort aber nicht.
Mehr als ein Leerzeichen mitten in einem html-Satz werden ohnehin immer als nur eins angezeigt, es sei denn Du verwendest geschützte Leerzeichen mittels Für Tabulatoren sollte dasselbe gelten.
Daher lassen sich alle Folgen von Leerzeichen auf ein einziges reduzieren.
Wenn Du CSS und JavaScript in eine externe Datei auslagerst, kannst Du vermeiden, dass der Code jedesmal neu geladen wird, wenn eine Unterseite geladen wird, da CSS und JavaScript dann schon im Cache sind. Das spart viel mehr als Leerzeichen zu entfernen.
Markus
Hi,
(Das kommt daher, dass ich mit Templates arbeite, und die hinterlassen halt beim rekursiven Parsen jedesmal 'ne Menge Datenmüll).
vielleicht mal optimieren?
Sprich: z.B. führende Tabulatoren können weg, Tabulatoren mitten im Wort aber nicht.
vielleicht hilft trim() : http://www.php.net/manual/de/function.trim.php
Gruesse Joachim
Hi,
Sprich: z.B. führende Tabulatoren können weg, Tabulatoren mitten im Wort aber nicht.
vielleicht hilft trim() :
Nein, trim() hilft nicht. Mit "führenden Tabulatoren" waren die am Anfang einer Zeile gemeint, mir liegt aber die gesamte Seite als einziger großer String vor, sprich die Zeilenanfaenge liegen mittendrin.
Ich koennte natuerlich den String zeilenweise durchlaufen, aber da muss es doch noch was anderes geben?
Also was raus kann (in sinnvoller Abarbeitungsreihenfolge) ist folgendes:
Ich bin nicht wirklich konform mit regulären Ausdrücken. Haltet ihr das für aufwendig?
Ach ja, noch eine Frage: legt Google wert auf sauber formatierten (Einrückungen, etc.) Code?
Danke, Eddie