PageRenderTime 37ms CodeModel.GetById 10ms RepoModel.GetById 0ms app.codeStats 1ms

/lib/jelix/plugins/tpl/html/block.jscompress.php

http://github.com/jelix/jelix
PHP | 39 lines | 25 code | 1 blank | 13 comment | 2 complexity | 39643b159cbe19cb700854ead4c204fd MD5 | raw file
Possible License(s): BSD-3-Clause, JSON, GPL-3.0, LGPL-3.0, LGPL-2.1, GPL-2.0
  1. <?php
  2. /**
  3. * Compress JS in templates
  4. * @package jelix
  5. * @subpackage jtpl_block
  6. * @version 1
  7. * @author Hadrien Lanneau <contact at hadrien dot eu>
  8. * @copyright 2008 Hadrien.eu
  9. */
  10. /**
  11. * jscompress : formate a js block code by removing spaces, tabs and returns.
  12. * Example: {jscompress}var foo = bar;{/jscompress}
  13. * @return string
  14. */
  15. function jtpl_block_common_jscompress ( $compiler, $begin, $params = array()) {
  16. if ($begin) {
  17. $content = ' ob_start();';
  18. }
  19. else {
  20. $content = '
  21. $buffer = preg_replace(
  22. array(
  23. "/\/\/.*\n/",
  24. "/[\t\n]+/",
  25. "/\/\*.*?\*\//"
  26. ),
  27. array(
  28. " ",
  29. " ",
  30. " "
  31. ),
  32. ob_get_contents()
  33. ) . "\n";
  34. ob_end_clean();
  35. echo $buffer;';
  36. }
  37. return $content;
  38. }