Quelltext vor der Ausgabe formatieren

Klein0r

Erfahrenes Mitglied
Hallo zusammen,

mir gehts gerade darum, dass ein von einem Script erstellter Quelltext häufig total unübersichtlich ist (nicht korrekt eingerückt durch Ausgaben in verschiedenen Scripten etc.).

Am ende kommt dabei also ein zufälliges Ergebnis raus (was die Formatierung angeht).
Jetzt würde ich gerne den Ergebnisquelltext ein wenig anschaulicher gestalten.

Frage 1:
Ist das nutzen von http://de.php.net/manual/de/function.ob-start.php dabei empfehlenswert? Auf der Seite ist ein Beispiel mit einer Callback-Funktion. Dort könnte ich ja denk kompletten Quelltext irgendwie formatieren und erst dann an den Client senden.

Frage 2:
Dauert das zu lange und lohnt sich das ganze für den geringen Nutzen?
(Wie viele Leute gucken schon den Quelltext an)

Frage 3:
Womit oder wie könnte man diese Formatierung anstellen. Sind irgendwem dafür LIBs bekannt die soetwas lösen können?

lg
 
Meiner Meinung nach kann man das bei der Entwicklung lokal gern machen, da es da den größten Nutzen hat. Aber das ganze auf dem Server laufen zu lassen wäre quatsch, weil es viel Rechenzeit in Anspruch nehmen würde für nichts.

Sowas kann man lösen indem man zwischen allen HTML-Tags die Leerräume wegnimmt und danach den ganzen Code von vorn bis hinten nochmal durchläuft und entsprechende Zeilenumbrüche und Tabulatoren für Container-Tags setzt.

Hier zum Beispiel was, das ich zum bereinigen von CSS-Dateien einsetze, bevor sie auf den Server kommen (spart einiges an Traffic):
PHP:
$sContent = preg_replace("/\n|\r|\t/", "", $sContent);
$sContent = str_replace(";}", "}", $sContent);
$sContent = str_replace(" : ", ":", $sContent);
$sContent = str_replace("{ ", "{", $sContent);
$sContent = str_replace(", ", ",", $sContent);
$sContent = str_replace(" {", "{", $sContent);

Wenn wir schon mal bei dem Thema "Traffic" sind empfehle ich dir den Code, der an den Besucher ausgeliefert wird wirklich "in einer Zeile" zu übermitteln. Datentransfer ist oft unbegrenzt, aber im Vordergrund stehen hier die schnelleren Ladezeiten ;) Noch ein Grund warum man bei dem "Endprodukt" auf Übersicht verzichten kann.
 
Ja für Entwicklungszwecke ist das sicher praktisch.
Denn manchmal ist das ganze doch schon sehr unübersichtlich...

Den Quelltext in genau einer Zeile zu übertragen ist dabei aber auch wieder ein Kompromiss. Dort tritt ja auch ein gewisser Anteil an Rechenzeit auf. Und ich glaube nicht das auf meine Seite mehr als 1KB Whitespace-Zeichen gesendet werden. Und wie lange dauert schon der Download von einem KiloByte? Weniger als eine hundertstel Sekunde denke ich. Und so lange würde sicher auch das entfernen der Whitespace-Zeichen dauern. Also PlusMinus Null.

Aus Traffic-Sicht hast du natürlich recht. Allerdings sprechen wir hier auch von max. einem MB pro Monat (in meinem Beispiel). Das sollte nicht stören. Selbst große Seiten (mir fällt gerade nur esl.eu mit über 1 Mrd Klicks im Jahr ein) senden die Seite in mehreren Zeilen ;)

lg
 
Andere Frage - passt nicht ganz zum Titel:

Ich habe eine Seite die regelmäßig per crontab aufgerufen wird. Nun werde ich per Mail informiert was das ganze gebracht hat und ob es zu Fehlern gekommen ist.

Meine Frage wäre nun: Könnte man die buffer-Funktion auch dazu nutzem um den kompletten SeitenInhalt per Mail zu verschicken? Also Quasi eine Kopie der Ergebnisse.

Sollte doch keine Probleme geben, oder?

lg
 
Zurück