PHP требуют и пробел - PullRequest
       2

PHP требуют и пробел

0 голосов
/ 24 февраля 2012

Мне было интересно, есть ли способ немного изменить функцию require или include, чтобы убрать разрывы строк и пробелы. Таким образом, он минимизирует все html / js внутри документов, которые я пытаюсь получить.

Я пробовал это:

trim(require('my document.php'));

не сработало, есть ли правильный способ сделать это?

Ура, Дуг

Ответы [ 4 ]

2 голосов
/ 24 февраля 2012

Вы, вероятно, хотите сделать что-то вроде

ob_start();
require('my document.php');
echo minify(ob_get_flush());

Чтобы получить весь вывод, сгенерированный моим document.php и минимизировать его, вы должны найти минимизирующую библиотеку, чтобы сделать это.

0 голосов
/ 24 февраля 2012

То, что вы описываете, потенциально хрупкое и значительно уступает просто , позволяющему сжатие .

Было бы полезно, если вы обновите свой вопрос, чтобы сказать, почему вы хотите это сделать.

Однако вы можете сделать это так:

 ob_start();
 require('file');
 echo = preg_replace(array("@[\r\n\t]+@", '@>\s+<@', '@\s+@', '@\s?{\s?@', '@\s?}\s?@'), array('', '><', ' ', '{', '}'), ob_get_clean());

Даже в этом случае вы, вероятно, обнаружите, что вам удастся удалить ненужные пробелы, особенно если вы запускаете его на javascript и пропускаете точку с запятой.

0 голосов
/ 24 февраля 2012

этот вопрос не имеет смысла.

  1. Удаление пробелов само по себе не имеет смысла.Если это такая серьезная проблема, вы можете настроить свой сервер на отправку сжатого содержимого, это уменьшит пропускную способность.
  2. И все же, зачем чистить пробелы только в выходных файлах?Почему бы не сделать это сразу для всего сайта?
0 голосов
/ 24 февраля 2012

Вы должны написать или использовать какой-то синтаксический анализатор, чтобы сделать работу правильно.Если вы можете использовать грубое и готовое решение, тогда str_replace возьмет массив и заменит один символ

, например, str_replace (array ("\ n", "\ r", "\ t", "etc"), "", $ mystring);

Но это похоже на большую обработку того, чего вы хотите достичь.

...