Pogčedajte punu verziju : Kako automatski optimizovati HTML kod?
Pedja
06. 08. 2007., 20:30
Zna li neko da li postoji kakva gotova funkcija koja prihvati HTML kod i optimizuje ga izbacujuci nepotrebne razmake, tabove, nove redove i slican visak?
To mi treba da kada iz php-a izgnereisem HTML, da ga ocistim pre nego sto posaljem klijentu.
Na netu uglavnom nalazim ili funkcijekoje rad eparsiranej da bi zatitili unos korsinika (obucno u komentarima na sajtu) ili referencena HTMLTidy koji mi je neprihvatljuivo resenje jer mora da se dodatno instalira na server.
dinke
06. 08. 2007., 21:08
Meni je prvo pao na pamet php tidy (http://www.php.net/tidy) (postoji lep api za php), a ako vec ne mozes da ga koristis, mozda da se malo poigras sa regexp-om?
//uklonis prvo sve visestruke spaceove svuda u html-u i zamenis jednostrukim
$string = preg_replace("/(\s+)/", " ", $string);
//Uklonis spaceove izmedju tagova
$string = preg_replace("/(>)\s+(<)/", "\\1\\2", $string);
//echo $string;
Ilija Studen
06. 08. 2007., 21:15
Nije direktan odgovor na pitanje, ali je blizu:
Osetno smanjenje protoka se može dobiti serviranjem GZipovanog sadržaja - pogledati: ob_gzhandler (http://www.php.net/manual/en/function.ob-gzhandler.php).
PHP tu radi većinu posla tako da je stvarno lako za implementaciju.
ivanhoe
07. 08. 2007., 01:10
mozda da se malo poigras sa regexp-om?
//uklonis prvo sve visestruke spaceove svuda u html-u i zamenis jednostrukim
$string = preg_replace("/(\s+)/", " ", $string);
//Uklonis spaceove izmedju tagova
$string = preg_replace("/(>)\s+(<)/", "\\1\\2", $string);
//echo $string;
drugi regexp moze da bude $string = preg_replace('/>\s+</', '><', $string); nema potrebe hvatati u memoriju znake koje vec znas koji su.
a mozes i da obrises HTML komentare: $string = preg_replace('/<!--.+?-->/', '', $string);
samo pazljivo sa ovim regexpima ako nije cist html (tipa ako imas javascript negde)
dinke
07. 08. 2007., 10:13
drugi regexp moze da bude $string = preg_replace('/>\s+</', '><', $string); nema potrebe hvatati u memoriju znake koje vec znas koji su.
Apsolutno se slazem, ja sam prvo taj i napisao, ali kada sam probao kod mene na compu sa nekim html stringom nesto nije radio kako treba. Onda sam promenio u taj drugi koji hvata tagove i radilo je. Moguce je da sam negde bio omanuo, posto sam sada ponovo probao i sada radi :)
Pedja
07. 08. 2007., 11:33
Osetno smanjenje protoka se može dobiti serviranjem GZipovanog sadržaja
To se podrazumeva.
samo pazljivo sa ovim regexpima ako nije cist html (tipa ako imas javascript negde)
Zbog toga sam i pitao, mada razmisljam, ne znam gde bi mogao da se pojavi tab ili visestruki space, a da je to korisno...
vBulletin® v3.6.8, Copyright ©2000-2024, Jelsoft Enterprises Ltd.