Publicidade (Anuncie Aqui)

Limitando textos

Espero que tenham gostado da nova aparência blog… Nesse novo blog eu vou postar alguns scripts prontos de PHP para vocês conhecerem novas formas de resolver os problemas do dia-a-adia.

Hoje, nesse post de abertura vou mostrar pra vocês como fazer um script que limita textos, muito usado quando você precisa exibir até X caracteres de uma frase e colocar um depois.

Vamos ao script:

function limita_caracteres($texto, $limite, $quebra = true) {
    $tamanho = strlen($texto);

    // Verifica se o tamanho do texto é menor ou igual ao limite
    if ($tamanho <= $limite) {
        $novo_texto = $texto;
    // Se o tamanho do texto for maior que o limite
    } else {
        // Verifica a opção de quebrar o texto
        if ($quebra == true) {
            $novo_texto = trim(substr($texto, 0, $limite)).'...';
        // Se não, corta $texto na última palavra antes do limite
        } else {
            // Localiza o útlimo espaço antes de $limite
            $ultimo_espaco = strrpos(substr($texto, 0, $limite), ' ');
            // Corta o $texto até a posição localizada
            $novo_texto = trim(substr($texto, 0, $ultimo_espaco)).'...';
        }
    }

    // Retorna o valor formatado
    return $novo_texto;
}

E aí? O que me dizem? Bem legal né?

Pra usar essa função é bem simples, você só precisa definir dois dos três argumentos dela:

echo limita_caracteres("Esta é uma frase muito longa!", 10);
// Irá exibir apenas os 10 primeiros caracteres da frase, cortando
//    qualquer palavra no meio se necessário
// Resultado: Esta é uma fras...

// Você tambem pode setar a terceira opção em 'false':
echo limita_caracteres("Esta é uma frase muito longa!", 10, false);
// Irá até a última palavra completa antes de estourar o limite de 10
// Resultado: Esta é uma...

O código está todo comentado, quem tiver alguma dúvida é só comentar e responderei assim que possível.

» Download: Download do arquivo de exemplo

Documentação Oficial:

  • Função strlen() » Mede quantos caracteres tem uma string
  • Função trim() » Retira os espaços a esquerda e a direita de uma string
  • Função substr() » Corta uma string de X caracteres
  • Função strrpos() » Encontra a última posição (a partir do início da string) de um(ns) caractere(s) na string

Você também vai gostar de ler:

Postado em PHP, Tutoriais

Com as tags , , , , ,

Escrito por Thiago Belem

Gostou desse artigo?

Não se esqueça de assinar o RSS e divulgue-o para o mundo:

4 Comentários ou trackbacks

  1. Claudio Myst disse:

    Shoe de bola até mesmo para aprender melhor como fazer nossas próprias funções pois está super bem comentado e o entendimento ficom bem simples.

    Valeu.

  2. leonardo disse:

    Muito bom o script! Eu estou começando a desenvolver sites com php+mysql agora e este será um recurso fundamental para estes! Congratulations

  3. Show de bola, com certeza esta é uma dúvida de muita gente…

  4. Muito bom! Já esta adicionado nos meus favoritos…

Deixe um comentário

XHTML: Você pode usar essas tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Atenção: O seu comentário precisará ser aprovado antes de ser publicado

Trackbacks e Pings