{"id":122,"date":"2012-11-05T13:08:00","date_gmt":"2012-11-05T15:08:00","guid":{"rendered":"https:\/\/blog.wieczorek.com.br\/novo\/?p=122"},"modified":"2022-02-24T13:11:31","modified_gmt":"2022-02-24T16:11:31","slug":"gerar-nuvem-de-tags-em-php","status":"publish","type":"post","link":"https:\/\/blog.wieczorek.com.br\/index.php\/2012\/11\/05\/gerar-nuvem-de-tags-em-php\/","title":{"rendered":"Gerar nuvem de tags em PHP"},"content":{"rendered":"\n<p>Para gerar uma nuvem de tags usarei uma fun\u00e7\u00e3o chamada&nbsp;<em>geraTags<\/em>&nbsp;que recebe um array, onde cada posi\u00e7\u00e3o deste array possui um valor&nbsp;<strong>tags:quantidade<\/strong>, e um valor m\u00e1ximo de tamanho de exibi\u00e7\u00e3o no HTML, ou seja, quantas tags ser\u00e3o mostradas na nuvem.<\/p>\n\n\n\n<p>C\u00f3digo da fun\u00e7\u00e3o\u00a0<em>geraTags<\/em>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\t&lt;?\r\nfunction geraTags ($tags,$max) {\r\n    $total = 0;\r\n    $maior = 0;\r\n    $retorno=\"\";\r\n    for ($i=0;$tags&#91;$i];$i++) {\r\n        $exp = explode(\":\",$tags&#91;$i]);\r\n        $tag&#91;$i] = $exp&#91;0];\r\n        $qnt&#91;$i] = $exp&#91;1];\r\n        $total = $total+$qnt&#91;$i];\r\n        \r\n        if ($qnt&#91;$i] > $maior) $maior = $qnt&#91;$i];\r\n    }\r\n    for ($i=0;$tag&#91;$i];$i++) {\r\n        $size = round($max*$qnt&#91;$i]\/$maior);\r\n        $menor = $max\/3;\r\n        if ($size&lt;$menor) $size=$menor;\r\n        $retorno.= \"&lt;span style='font-size:$size\".\"px'>$tag&#91;$i]&lt;\/span>&amp;nbsp; \";\r\n    }\r\n    return $retorno;\r\n}\r\n?><\/code><\/pre>\n\n\n\n<p>Agora devemos preencher o array com os valores correspondentes, conforme mostra o c\u00f3digo abaixo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?\r\n        $tags=array(\"php:5\",\"java:6\",\"html:2\",\"programacao:4\",\"javascript:3\",\"humor:1\",\"internet:1\",\"fotos:3\",\"linux:7\",\"shell-script:3\",\"livros:2\",\"musica:2\",\"videos:1\",\"jogos:4\",\"windows:5\");\r\n?><\/code><\/pre>\n\n\n\n<p>O preenchimento do array tamb\u00e9m pode ser feito atrav\u00e9s de uma consulta em seu banco de dados, ou seja, o array tamb\u00e9m pode ser preenchido de forma din\u00e2mica.<\/p>\n\n\n\n<p>A chamada da fun\u00e7\u00e3o se d\u00e1 da seguinte maneira:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo geraTags($tags,30);\r<\/code><\/pre>\n\n\n\n<p>Um exemplo de visualiza\u00e7\u00e3o da nuvem seria:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/blog.wieczorek.com.br\/media\/blogs\/pessoal\/nuvem_tags.png?mtime=1352122835\"><img decoding=\"async\" src=\"http:\/\/blog.wieczorek.com.br\/media\/blogs\/pessoal\/nuvem_tags.png?mtime=1352122835\" alt=\"\"\/><\/a><\/figure>\n\n\n\n<p>Espero que tenham gostado desta dica.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Para gerar uma nuvem de tags usarei uma fun\u00e7\u00e3o chamada&nbsp;geraTags&nbsp;que recebe um array, onde cada posi\u00e7\u00e3o deste array possui um valor&nbsp;tags:quantidade, e um valor m\u00e1ximo de tamanho de exibi\u00e7\u00e3o no HTML, ou seja, quantas tags ser\u00e3o mostradas na nuvem. C\u00f3digo da fun\u00e7\u00e3o\u00a0geraTags: Agora devemos preencher o array com os valores [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20,28,68],"tags":[154,61,152,153],"class_list":["post-122","post","type-post","status-publish","format-standard","hentry","category-desenvolvimento","category-internet","category-php","tag-codigo","tag-desenvolvimento","tag-nuvem-de-tags","tag-tags"],"_links":{"self":[{"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/posts\/122","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=122"}],"version-history":[{"count":1,"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/posts\/122\/revisions"}],"predecessor-version":[{"id":123,"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/posts\/122\/revisions\/123"}],"wp:attachment":[{"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=122"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=122"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=122"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}