Autor Zpráva
doominick
Profil *
Pěkný podvečer

Chci se zeptat, jestli znáte nějaký php filtr pro minimalizaci html (šlo by o html5) teď mě napadá snad jen odstranění odsazení, odstranění ukončení řádků a vymazání komentářů (v html a javascriptech vepsaných přímo ve stránce). Takový ten filtr do kterého se pošle veškerý výstup na serveru před vypsáním uživateli. Na minimalizaci js a css jsem už pěkné filtry našel, ale na to html nějak nemůžu najít, přitom by byl asi nejtriviálnější (proto ho nemůžu najít)?

Cache minimalizovaného výstupu už vyřešenou mám. S problémem inline tagů a jejich rozdílným vypsáním po odstranění odřádkování bych se už nějak vyrovnal.

Pak ještě snad jestli někdo neví jaký je poměr velikostí takto na jeden řádek minimalizovaného html v porovnání s neminimalizovaným při gzip-ování výstupu?
peta
Profil
Gzip je vzdy mensi. Text se zipuje/raruje zhruba mezi 15-35%.

WYSIWYG editory provadeji jakousi minimalizaci.
Pspad ma jakousi minimalizaci, ale to ti nepomuze.
Php nette framework pouziva neco na minimalizaci a spojovani.

S minimalizaci bacha, muzes si zadelat na problemy, ze neco neumi.
napriklad si muzes zkusit v JS nasledujici text, jestli to udela spravne.
var aaa = " ...\" ... " + " ... \
..."; // bbb
alert(aaa);


Otazkou je, ma smysl tvuj kod minimalizovat? Je opravdu tak velky? A ten minimalizovany kod ukladas do adresare temp/ nebo pokazde generujes znovu?
margin
Profil *
doominick:
S problémem inline tagů a jejich rozdílným vypsáním po odstranění odřádkování bych se už nějak vyrovnal.
To bych moc neriskoval, prožene od dob, co existuje CSS a vlastnost "display", nevíš, zda ten který element bude inline nebo blok. Je sice fakt, že častěji se přetypovává inline na blok, což by problém nezpůsobilo, ale myslím si, že úspora jednoho bílého znaku nestojí za možné problémy.
Odstraňovat bílé znaky bych nedoporučoval ani v elementech PRE, INPUT a TEXTAREA, a to jsem možná na nějaký problematický element zapomněl. A situaci opět komplikuje CSS, tentokráte vlastnost "whitespase".
Pozor se musí dávat i při odstraňování komentářů, nástroj musí být schopný rozeznat a ponechat případné microsoftí podmíněné komentáře.

Pravděpodobně za to může XHTML evangelizace, ale tématech o minifikaci HTML se to málokdy zmiňuje, že je možné vyházet veškeré nepovinné HTML tagy, a jsou i elementy, které mají nepovinné počáteční tagy.

Pak ještě snad jestli někdo neví jaký je poměr velikostí takto na jeden řádek minimalizovaného html v porovnání s neminimalizovaným při gzip-ování výstupu?
Pokud máš na mysli minifikovaný ne gzipovaný HTML výstup v porovnání s neminifikovaným gzipovanýn HTML výstupem, tak neminifikovaným gzipovaný HTML výstup je menší, ale obecně není možné říci, o kolik.
Ještě menší je minifikovaným gzipovaný HTML výstup, ale jen o pár procent (nikoliv procentních bodů), takže si myslím, že je výhodnější nasadit gzip a na potencionálně problematickou HTML minifikaci se vykašlat a nasadit pouze gzip.

Pokud věnuješ stejné úsilí minimalizaci grafiky, tak blahopřeji, protože největší objem dat a možnost úspor bývá o obrázků.
oop
Profil *
Myslím, že by sa dala použiť funkcia strip_tags() z využitím parametra "allowable_tags"
doominick
Profil *
na pre, input a textareu jsem zapoměl to je fakt
je ta problematika asi složitější než jsem měl pocit při psaní prvního příspěvku
odstranění znaků které nejsou nutně vyžadovány (konce body a html) by taky mohlo být zajímavé.

Každopádně i z těchto důvodů by bylo asi lepší najít už nějaký hotový filter.php.

strip_tags() s povolenými tagy je zajímavé řešení, ale muselo by se to trochu vylepšit o něco co projde dokument a vyhledá všechny použité tagy (mimo zvolených na whitelistu) a ty dá jako druhý parametr... stále by to pak ale neodstraňovalo něco navíc a co by to udělalo s párovými komentáři taky nevím

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0