{"id":1116,"date":"2017-09-28T20:13:59","date_gmt":"2017-09-28T20:13:59","guid":{"rendered":"http:\/\/luisrodriguez.pe\/blog\/?p=1116"},"modified":"2017-09-28T21:04:47","modified_gmt":"2017-09-28T21:04:47","slug":"minificar-codigo-html-desde-codeigniter","status":"publish","type":"post","link":"https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/","title":{"rendered":"Minificar c\u00f3digo HTML desde Codeigniter"},"content":{"rendered":"<p>La minificaci\u00f3n se refiere a la eliminaci\u00f3n de bytes innecesarios, como los espacios adicionales, saltos de l\u00ednea y sangr\u00edas. Al minimizar los c\u00f3digos HTML se puede acelerar la carga de una p\u00e1gina web.<\/p>\n<p>Podemos utilizar multiples herramientas online, preprocesadores, entre otros para generar una versi\u00f3n optimizada del c\u00f3digo HTML. En esta oportunidad perm\u00edtame mostrarle como minificar nuestro c\u00f3digo HTML desde el framework codeigniter; usaremos un m\u00e9todo donde eliminaremos espacios en blanco innecesarios del HTML generado, excepto Javascript. Sin m\u00e1s empecemos:<\/p>\n<h3>1.- Modificar config.php<\/h3>\n<p>En el archivo de configuraci\u00f3n <code>aplication\/config\/config.php<\/code> modificar la variable enable_hooks de <code>FALSE<\/code> a <code>TRUE<\/code>.<br \/>\n<pre class=\"hljs\"><code class=\"php\">$config['enable_hooks'] = TRUE;<\/code><\/pre>\n<h3>2.- Modificar hooks.php<\/h3>\n<p>Ubicar los el archivo <code>aplication\/config\/hooks.php<\/code> y adicionar las siguientes l\u00edneas de c\u00f3digo:<br \/>\n<pre class=\"hljs\"><code class=\"php\">\n$hook['display_override'][] = array(<br \/>\n'class' =&gt; '',<br \/>\n'function' =&gt; 'compress',<br \/>\n'filename' =&gt; 'compress.php',<br \/>\n'filepath' =&gt; 'hooks'<br \/>\n);<br \/>\n<\/code><\/pre>\n<h3>3.- Crear compress.php<\/h3>\n<p>Crear el archivo <code>aplication\/hooks\/compress.php<\/code> y pegar el siguiente c\u00f3digo php:<br \/>\n<pre class=\"hljs\"><code class=\"php\">\nfunction compress(){<br \/>\n\tini_set(\"pcre.recursion_limit\", \"16777\");<br \/>\n\t$CI =&amp; get_instance();<br \/>\n\t$buffer = $CI-&gt;output-&gt;get_output();<br \/>\n\t$re = '%# Collapse whitespace everywhere but in blacklisted elements.<br \/>\n        (?&gt;             # Match all whitespans other than single space.<br \/>\n          [^\\S ]\\s*     # Either one [\\t\\r\\n\\f\\v] and zero or more ws,<br \/>\n        | \\s{2,}        # or two or more consecutive-any-whitespace.<br \/>\n        ) # Note: The remaining regex consumes no text at all...<br \/>\n        (?=             # Ensure we are not in a blacklist tag.<br \/>\n          [^&lt;]*+        # Either zero or more non-&quot;&lt;&quot; {normal*}<br \/>\n          (?:           # Begin {(special normal*)*} construct<br \/>\n            &lt;           # or a &lt; starting a non-blacklist tag.<br \/>\n            (?!\/?(?:textarea|pre|script)\\b)<br \/>\n            [^&lt;]*+      # more non-&quot;&lt;&quot; {normal*}<br \/>\n          )*+           # Finish &quot;unrolling-the-loop&quot;<br \/>\n          (?:           # Begin alternation group.<br \/>\n            textarea|pre|script)\\b<br \/>\n          | \\z          # or end of file.<br \/>\n          )             # End alternation group.<br \/>\n        )  # If we made it here, we are not in a blacklist tag.<br \/>\n        %Six';<br \/>\n    $new_buffer = preg_replace($re, \" \", $buffer);<br \/>\n\tif ($new_buffer === null){<br \/>\n\t  $new_buffer = $buffer;<br \/>\n\t}<br \/>\n\t$CI-&gt;output-&gt;set_output($new_buffer);<br \/>\n\t$CI-&gt;output-&gt;_display();<br \/>\n}<br \/>\n<\/code><\/pre>\n<h3>4.- Verificar cambios.<\/h3>\n<p>Guarde los cambios realizados y verifique el c\u00f3digo fuente de su p\u00e1gina web desde el navegador.<\/p>\n<p>Si no notas los resultados, por favor borra la cache de tu navegador y vuelve a verificar el c\u00f3digo fuente.<\/p>\n<p>Referencia:<\/p>\n<p><a href=\"https:\/\/github.com\/juanjus98\/Minificar-codigo-HTML-desde-Codeigniter\">https:\/\/github.com\/juanjus98\/Minificar-codigo-HTML-desde-Codeigniter<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"La minificaci\u00f3n se refiere a la eliminaci\u00f3n de bytes innecesarios, como los espacios adicionales, saltos de l\u00ednea y sangr\u00edas. Al minimizar los c\u00f3digos HTML se puede acelerar la carga de una p\u00e1gina web. Podemos utilizar multiples herramientas online, preprocesadores, entre otros para generar una versi\u00f3n optimizada del c\u00f3digo HTML. En esta oportunidad perm\u00edtame mostrarle como[&#8230;]","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38,9,6],"tags":[],"class_list":["post-1116","post","type-post","status-publish","format-standard","hentry","category-codeigniter","category-desarrollo-web","category-php"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Minificar c\u00f3digo HTML desde Codeigniter - Blog Luis Rodriguez<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Minificar c\u00f3digo HTML desde Codeigniter - Blog Luis Rodriguez\" \/>\n<meta property=\"og:description\" content=\"La minificaci\u00f3n se refiere a la eliminaci\u00f3n de bytes innecesarios, como los espacios adicionales, saltos de l\u00ednea y sangr\u00edas. Al minimizar los c\u00f3digos HTML se puede acelerar la carga de una p\u00e1gina web. Podemos utilizar multiples herramientas online, preprocesadores, entre otros para generar una versi\u00f3n optimizada del c\u00f3digo HTML. En esta oportunidad perm\u00edtame mostrarle como[...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Luis Rodriguez\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/luisrodriguez.pe\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/juanjus98\" \/>\n<meta property=\"article:published_time\" content=\"2017-09-28T20:13:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-09-28T21:04:47+00:00\" \/>\n<meta name=\"author\" content=\"Juan Julio Sandoval Layza\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@jsandovallayza\" \/>\n<meta name=\"twitter:site\" content=\"@luizmirodriguez\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Juan Julio Sandoval Layza\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/\"},\"author\":{\"name\":\"Juan Julio Sandoval Layza\",\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/#\/schema\/person\/a7381fe815f55eb57807df7109169de9\"},\"headline\":\"Minificar c\u00f3digo HTML desde Codeigniter\",\"datePublished\":\"2017-09-28T20:13:59+00:00\",\"dateModified\":\"2017-09-28T21:04:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/\"},\"wordCount\":390,\"commentCount\":0,\"articleSection\":[\"Codeigniter\",\"Desarrollo web\",\"PHP\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/\",\"url\":\"https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/\",\"name\":\"Minificar c\u00f3digo HTML desde Codeigniter - Blog Luis Rodriguez\",\"isPartOf\":{\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/#website\"},\"datePublished\":\"2017-09-28T20:13:59+00:00\",\"dateModified\":\"2017-09-28T21:04:47+00:00\",\"author\":{\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/#\/schema\/person\/a7381fe815f55eb57807df7109169de9\"},\"breadcrumb\":{\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/luisrodriguez.pe\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Minificar c\u00f3digo HTML desde Codeigniter\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/#website\",\"url\":\"https:\/\/luisrodriguez.pe\/blog\/\",\"name\":\"Blog Luis Rodriguez\",\"description\":\"Analytics Developer\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/luisrodriguez.pe\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/#\/schema\/person\/a7381fe815f55eb57807df7109169de9\",\"name\":\"Juan Julio Sandoval Layza\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/fd76a1327a472532eee82a58cff4c1bc67fd8bc84443e2d047eee05aef79e456?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/fd76a1327a472532eee82a58cff4c1bc67fd8bc84443e2d047eee05aef79e456?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/fd76a1327a472532eee82a58cff4c1bc67fd8bc84443e2d047eee05aef79e456?s=96&d=mm&r=g\",\"caption\":\"Juan Julio Sandoval Layza\"},\"description\":\"Desarrollador fullstack PHP, Javascript.\",\"sameAs\":[\"http:\/\/webapu.com\/\",\"https:\/\/www.facebook.com\/juanjus98\",\"https:\/\/x.com\/jsandovallayza\"],\"url\":\"https:\/\/luisrodriguez.pe\/blog\/author\/julio\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Minificar c\u00f3digo HTML desde Codeigniter - Blog Luis Rodriguez","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/","og_locale":"es_ES","og_type":"article","og_title":"Minificar c\u00f3digo HTML desde Codeigniter - Blog Luis Rodriguez","og_description":"La minificaci\u00f3n se refiere a la eliminaci\u00f3n de bytes innecesarios, como los espacios adicionales, saltos de l\u00ednea y sangr\u00edas. Al minimizar los c\u00f3digos HTML se puede acelerar la carga de una p\u00e1gina web. Podemos utilizar multiples herramientas online, preprocesadores, entre otros para generar una versi\u00f3n optimizada del c\u00f3digo HTML. En esta oportunidad perm\u00edtame mostrarle como[...]","og_url":"https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/","og_site_name":"Blog Luis Rodriguez","article_publisher":"https:\/\/www.facebook.com\/luisrodriguez.pe","article_author":"https:\/\/www.facebook.com\/juanjus98","article_published_time":"2017-09-28T20:13:59+00:00","article_modified_time":"2017-09-28T21:04:47+00:00","author":"Juan Julio Sandoval Layza","twitter_card":"summary_large_image","twitter_creator":"@jsandovallayza","twitter_site":"@luizmirodriguez","twitter_misc":{"Escrito por":"Juan Julio Sandoval Layza","Tiempo de lectura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/#article","isPartOf":{"@id":"https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/"},"author":{"name":"Juan Julio Sandoval Layza","@id":"https:\/\/luisrodriguez.pe\/blog\/#\/schema\/person\/a7381fe815f55eb57807df7109169de9"},"headline":"Minificar c\u00f3digo HTML desde Codeigniter","datePublished":"2017-09-28T20:13:59+00:00","dateModified":"2017-09-28T21:04:47+00:00","mainEntityOfPage":{"@id":"https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/"},"wordCount":390,"commentCount":0,"articleSection":["Codeigniter","Desarrollo web","PHP"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/","url":"https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/","name":"Minificar c\u00f3digo HTML desde Codeigniter - Blog Luis Rodriguez","isPartOf":{"@id":"https:\/\/luisrodriguez.pe\/blog\/#website"},"datePublished":"2017-09-28T20:13:59+00:00","dateModified":"2017-09-28T21:04:47+00:00","author":{"@id":"https:\/\/luisrodriguez.pe\/blog\/#\/schema\/person\/a7381fe815f55eb57807df7109169de9"},"breadcrumb":{"@id":"https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/luisrodriguez.pe\/blog\/minificar-codigo-html-desde-codeigniter\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/luisrodriguez.pe\/blog\/"},{"@type":"ListItem","position":2,"name":"Minificar c\u00f3digo HTML desde Codeigniter"}]},{"@type":"WebSite","@id":"https:\/\/luisrodriguez.pe\/blog\/#website","url":"https:\/\/luisrodriguez.pe\/blog\/","name":"Blog Luis Rodriguez","description":"Analytics Developer","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/luisrodriguez.pe\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/luisrodriguez.pe\/blog\/#\/schema\/person\/a7381fe815f55eb57807df7109169de9","name":"Juan Julio Sandoval Layza","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/fd76a1327a472532eee82a58cff4c1bc67fd8bc84443e2d047eee05aef79e456?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/fd76a1327a472532eee82a58cff4c1bc67fd8bc84443e2d047eee05aef79e456?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fd76a1327a472532eee82a58cff4c1bc67fd8bc84443e2d047eee05aef79e456?s=96&d=mm&r=g","caption":"Juan Julio Sandoval Layza"},"description":"Desarrollador fullstack PHP, Javascript.","sameAs":["http:\/\/webapu.com\/","https:\/\/www.facebook.com\/juanjus98","https:\/\/x.com\/jsandovallayza"],"url":"https:\/\/luisrodriguez.pe\/blog\/author\/julio\/"}]}},"_links":{"self":[{"href":"https:\/\/luisrodriguez.pe\/blog\/wp-json\/wp\/v2\/posts\/1116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/luisrodriguez.pe\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/luisrodriguez.pe\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/luisrodriguez.pe\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/luisrodriguez.pe\/blog\/wp-json\/wp\/v2\/comments?post=1116"}],"version-history":[{"count":12,"href":"https:\/\/luisrodriguez.pe\/blog\/wp-json\/wp\/v2\/posts\/1116\/revisions"}],"predecessor-version":[{"id":1128,"href":"https:\/\/luisrodriguez.pe\/blog\/wp-json\/wp\/v2\/posts\/1116\/revisions\/1128"}],"wp:attachment":[{"href":"https:\/\/luisrodriguez.pe\/blog\/wp-json\/wp\/v2\/media?parent=1116"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/luisrodriguez.pe\/blog\/wp-json\/wp\/v2\/categories?post=1116"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/luisrodriguez.pe\/blog\/wp-json\/wp\/v2\/tags?post=1116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}