158 votes

Comment faire pour rapetisser la sortie html d’une page php ?

Je cherche un script php ou une classe qui peut rapetisser à ma sortie de html page php comme google page vitesse fait.

Comment est-ce que je peux faire cela ?

237voto

RakeshS Points 5535

CSS et Javascript

Envisager le lien suivant pour rapetisser Javascript/CSS fichiers: http://code.google.com/p/minify/

HTML

Dire à Apache de livrer HTML avec GZip - ce généralement de réduire la taille de la réponse d'environ 70%. (Si vous utilisez Apache, le module de configuration de l'utilitaire gzip dépend de votre version: Apache 1.3 utilisations mod_gzip si Apache 2.x utilise mod_deflate.)

Accept-Encoding: gzip, deflate

Content-Encoding: gzip

Utilisez le code suivant pour supprimer les espaces vides de l'HTML avec l'aide ob_start du tampon:

<?php

function sanitize_output($buffer) {

    $search = array(
        '/\>[^\S ]+/s',  // strip whitespaces after tags, except space
        '/[^\S ]+\</s',  // strip whitespaces before tags, except space
        '/(\s)+/s'       // shorten multiple whitespace sequences
    );

    $replace = array(
        '>',
        '<',
        '\\1'
    );

    $buffer = preg_replace($search, $replace, $buffer);

    return $buffer;
}

ob_start("sanitize_output");

?>

28voto

dogmatic69 Points 6108

Allumez gzip si vous voulez le faire correctement. Vous pouvez aussi simplement faire quelque chose comme ceci :

Cette commande supprime environ 30 % de la taille de la page en transformant votre code html en une seule ligne, sans onglet, pas de nouvelles lignes, aucun commentaire. Kilométrage peut varier

22voto

AndrewSpear Points 648

Tous les `` solutions mentionnées ci-dessus ont des questions, des commentaires sur une seule ligne, les commentaires conditionnels et autres pièges. Je recommanderais en profitant du bien testé rapetisser projet plutôt que de créer vos propres regex à partir de zéro.

Dans mon cas j’ai placer le code suivant en haut d’une page PHP à rapetisser il :

3voto

Mtz Points 153

vous pouvez consulter cet ensemble de classes : https://code.google.com/p/minify/source/browse/?name=master#git%2Fmin%2Flib%2FMinify , vous trouverez des classes de html/css/js minification là.

vous pouvez aussi essayer ceci : http://code.google.com/p/htmlcompressor/

Bonne chance  :)

2voto

Rudi Visser Points 11599

Vous pouvez regarder en HTML TIDY - http://uk.php.net/tidy

Il peut être installé en tant que module PHP et (correctement, en toute sécurité) suppression des espaces et tous les autres de méchanceté, tandis que le reste de la sortie parfaitement valide en HTML / XHTML la balise. Il sera également nettoyer votre code, ce qui peut être une bonne chose ou une mauvaise chose, en fonction de comment vous êtes bon à l'écriture de code valide en premier lieu ;-)

En outre, vous pouvez gzip la sortie en utilisant le code suivant au début de votre fichier:

ob_start('ob_gzhandler');

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X