Advertisement
Huymada

Template

Aug 22nd, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.38 KB | None | 0 0
  1. <?php
  2. /**
  3.  * Gestor de Templates
  4.  * @version 22-08-2019
  5.  */
  6. function template($input, $content = array(), $minify = false, $header = false) {
  7.     /**
  8.      * Verificação de existência de template
  9.      */
  10.     if(file_exists('template/' . $input . '.tpl')) {
  11.         $template = file_get_contents('template/' . $input . '.tpl');
  12.     }
  13.     else {
  14.         die('O arquivo de template <strong>' . $input . '.tpl</strong> não está disponível!');
  15.     }
  16.  
  17.     /**
  18.      * Verificação de conteúdo e processamento de dados
  19.      */
  20.     if(is_array($content)) {
  21.         foreach($content as $key => $value) {
  22.             $template = str_ireplace('{' . $key . '}', $value, $template);
  23.         }
  24.     }
  25.     else {
  26.         die('O conteúdo do template <strong>' . $input . '.tpl</strong> não está disponível!');
  27.     }
  28.  
  29.     /**
  30.      * Minify
  31.      */
  32.     if($minify == true) {
  33.         /**
  34.          * Remoção de comentários
  35.          */
  36.         $template = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $template);
  37.  
  38.         /**
  39.          * Remoção de espaços desnecessários
  40.          */
  41.         $template = str_replace(': ', ':', $template);
  42.         $template = str_replace('] {', ']{', $template);
  43.         $template = str_replace(' {', '{', $template);
  44.         $template = str_replace(["\r\n", "\r", "\n", "\t", '  ', '    ', '    '], '', $template);
  45.     }
  46.  
  47.     /**
  48.      * Cabeçalho do documento
  49.      */
  50.     if($header == true) {
  51.         header('Content-type: ' . $header);
  52.     }
  53.  
  54.     /**
  55.      * Visualizar template
  56.      */
  57.     echo $template;
  58.  
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement