No último post falei sobre Addslashes e a evolução do tratamento de dados para SQL. Desta vez mudo um pouco os caminhos e vou falar sobre a função explode. Ela é relativamente comum ao tratamento de strings, por isso, resolvi relembrar um pouco sobre a sua utilização. Então para este post irei abordar um pouco sobre a função e um exemplo em que sua aplicação pode ser bem útil.
O básico da função explode()
O explode() foi criado com a intenção de separar uma string em um array de várias strings menores. Para isto ele utiliza determinados caracteres, passados por parâmetros, para fazer a separação. Sua estrutura fica assim:
explode(string $delimitador , string $string [, int $limite ]).
Analisando o código abaixo, temos os parâmetros $delimitador que será o caractere de divisão da string. Em seguida teremos a própria string que será desmembrada e por último, e de forma opcional, a quantidade de strings partidas serão salvas no array. Vale lembrar que ao limitar o explode a última string terá o restante da frase.
Explodindo em Tags
Um dos exemplos mais práticos que descobri sobre a utilização do explode() é criação de tags e categorias personalizadas. Esta utilização é bem comum em sistemas como WordPress ou outros gerenciadores de conteúdo. Pegando o exemplo do WordPress, em seu administrador, temos um campo de tags onde você pode definir tags aos posts separando as palavras chaves por vírgula.
Mas vamos para prática e mostrar um exemplo prático disto. O exemplo abaixo eu fiz uma leitura simples do campo tag do formulário e reimprimi na tela. Claro que o ideal é utilizar o comando e depois gravar em um banco de dados ou dar continuidade ao tratamento de acordo com a sua necessidade.
[php]<div class=”container”> <h1> Teste com a função explode</h1> <form action=”explode.php” method=”POST”> <div> <label for=”tag”>Digite as tags:</label><br> <input type=”text” id=”tag” name=”tag” placeholder=”Tag”> <p>Digite separando com espaço</p> </div> <input class=”bt” type=”submit” value=”GERAR TAGS”> </form> <div> <?php if($_POST){ $tags = explode(” “,$_POST[tag]); $i = 1; foreach ($tags as $key => $value) { if($i % 2== 1) echo “<p class=\”grey\”>Tag “.$i.”: “.$value.”</p>”; else echo “<p>Tag “.$i.”: “.$value.”</p>”; $i++; } } ?> </div> </div>[/php]
No exemplo ácima, fiz um formulário simples para que pudessem ser cadastradas as tags, com separação por espaço. Após enviado o formulário, o mesmo recarregará a página explodindo a string pelos espaços e imprimindo cada palavra em um parágrafo. Como este é apenas um exemplo de demonstração não me apeguei em salvar os dados ou qualquer coisa do tipo. Mas, o ideal é que estes dados sejam tratados e ou salvos em banco de dados como categorias, ou simplesmente tags. Para ver o exemplo em ação clique aqui.
Para realizar o processo inverso do explode é possível utilizar a função implode. Esta explico no próximo post desta série. Tenha todo o desempenho para o seu site com a Hospedagem Cloud DialHost. Servidores em cloud prontos para receber sites em PHP. Saiba Mais.