У меня есть некоторый JavaScript, который генерируется кодом PHP с использованием шаблона.
Результатом шаблона является файл, содержащий JavaScript, но с разбросанными по нему операторами.
Я хочу уменьшить размер этого файла, удалив пробелы и комментарии.
Однако все, что я могу найти в Интернете, это инструменты для простого JavaScript, которые чрезвычайно сложны.
У меня все готово написать сценарий для сокращения HTML и CSS-контента, использующего ту же систему, я ищу информацию об уменьшении размера файла JavaScript, чтобы я мог написать сценарий сокращения, который может обрабатывать код PHP. в файле.
Итак, что я хочу:
Учебник по уменьшению размера кода JavaScript.
Простой скрипт для уменьшения размера JavaScript, который я могу анализировать.
Или инструмент, который прекрасно работает с PHP, встроенным в код JavaScript (должен быть либо Public Domain, либо Open Source, позволяющий использовать его в коммерческих работах)
EDIT:
$script = preg_replace('%/\*.*?\*/%','',$script);
$compress = preg_split('%("|\'|/)(?:\\\\|\\\1|[^\1])*?\1|<\?php\s+(?:("|\')(?:\\\\|\\\2|[^\2])*?\2|[^"\']*?)*?\?>%',$script);
preg_match_all('%(("|\'|/)(?:\\\\|\\\2|[^\2])*?\2|<\?php\s+(?:("|\')(?:\\\\|\\\3|[^\3])*?\3|[^"\']*?)*?\?>)%',$script,$no_compress);
foreach ($compress as &$block) { $block = preg_replace('%\s+%',' ',$block); }
Я думаю, что я решил это, приведенное выше должно удалить комментарии в стиле C, затем разделить оставшийся код на блоки PHP, строки Javascript 'или' и шаблоны Regex /, а также извлечь блоки кода, строки и Шаблоны регулярных выражений, код внутри шаблона или строки следует игнорировать как второй параметр в регулярном выражении.
Последняя строка должна уменьшить пустое пространство в блоках сжатия до одного пробела
Тогда это просто вопрос рекомбинации блоков, т. Е.
$cscript .= $compress[$i].$no_compress[$i]
Чтобы перестроить скрипт.
Что-то, что я пропустил?