15 de August de 2013

Criando resumo em PHP

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.333



Sérgio Toledo | Full-Stack Web Developer | LinkedIn | GitHub | YouTube

Todos os direitos reservados ©