Как разобрать HTML для минимизации в PHP? - PullRequest
5 голосов
/ 30 июня 2010

Я хочу написать алгоритм для сжатия вывода HTML для CMS, которую я пишу на PHP, написанную с помощью инфраструктуры CodeIgniter.

Я думал о том, чтобы попытаться удалить пробелы между любыми угловыми скобками, кроме элементов <script>, <pre> и <style>, и просто игнорировать эти элементы для простоты. Я должен уточнить, что это пробел между последовательными тегами, без текста между ними.

Как мне разобрать HTML-код, чтобы найти пробел, который я хочу удалить?

Edit: Для начала я хочу удалить все символы табуляции, которые не входят в теги <pre>. Я уверен, что это можно сделать с помощью регулярных выражений, но каковы альтернативы?

Ответы [ 2 ]

7 голосов
/ 30 июня 2010

Не. Пробелы незначительны. Лучше использовать выходное сжатие, с zlib или , например,

4 голосов
/ 30 июня 2010

Что-то не так с существующими решениями для минимизации HTML?

Minify делает HTML (а также CSS и JS).

(Эта вторая ссылка ведет к исходному коду, который комментирует шаги, которые он предпринимает - должен быть хорошим подспорьем, если вы действительно хотите создать свой собственный - он BSD лицензирован .)

Также, как говорит Пит , вы получите гораздо больше пользы, используя сжатие gzip для своего HTML (и CSS / JS / etc), и не столкнетесь с такими проблемами, как упомянутый Гордонв своем комментарии.

...