15 de agosto de 2013
Muitas vezes queremos pegar somente a parte inicial de um texto para criar uma espécie de resumo, este recurso é muito útil para criar chamadas de notícias por exemplo.
Para criar um Resumo em PHP podemos utilizar a função substr() mas apenas com ela corremos o risco de alguma palavra final ser cortada pela metade.
Supondo que temos o caso a seguir:
<?php $texto = "Teste de escrita de texto."; echo substr($texto,0,15); ?>
Teremos como saída o texto: Teste de escrit
Para resolver este problema podemos usar a função abaixo que verifica se a palavra acabou antes de fazer o corte procurando por um espaço em branco. A função ainda adiciona reticências (três pontinhos) no final do texto para dar idéia de que o texto continua:
<?php function criaResumo($string,$caracteres) { $string = strip_tags($string); if (strlen($string) > $caracteres) { while (substr($string,$caracteres,1) <> ' ' && ($caracteres < strlen($string))) { $caracteres++; }; }; return substr($string,0,$caracteres) . '...'; } ?>
Para utilizar basta chamar a função desta forma:
<?php $texto = "Teste de escrita de texto."; echo criaResumo($texto, 15); ?>
O resultádo será: Teste de escrita...
Visualizações: 7.557