Jump to content
kokin

Caracteres

Recommended Posts

kokin

Muito boa tarde, é possível limitar na impressão do texto, por exemplo um campo descrição na base de dados ou seja na base de dados tem um texto com 600 caracteres ("long text") e dizer para quando imprimir em echo escrever somente  100 caracteres.

Agradecia ajuda se for possível, obrigado.

Share this post


Link to post
Share on other sites
kokin

Basta controlar a edição / inserção de informação.

Desculpa-me de ter feito o pedido erradamente já o corrigi, o que pretendo é que um texto com muitos carrectes valores a cima de 200 caracteres ("long text") dizer para quando imprimir em echo escrever somente  100 caracteres.

por exemplo:

asdadasdas asd asd fa sdasd...

(Ler Mais)

O texto a cima representaria para ai 100 caracteres e no fim teria 3 pontinhos e quando carregar no ler mais a aí ia para a página onde aparecia a descrição total.

O que queria saber é se o php tem alguma forma de contar caracteres algo do género...

Share this post


Link to post
Share on other sites
mAiN_iNfEcTiOn

Na realidade para ser um bom algoritmo de limitação de caracteres de uma string, deve ter em atenção vários aspectos:

1 - O tamanho total;

2 - O tamanho pretendido;

3 - Se a string com o tamanho pretendido corta strings ou não.

Tipo:

$string = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi lobortis, tortor eget dapibus varius, velit nulla varius mi, et rutrum nibh velit in enim. Proin at dui nisl. Ut semper varius dolor eu condimentum. Nam id felis non nunc facilisis aliquam at ut velit. Suspendisse nulla ante, scelerisque et fringilla et, aliquam porta massa. Curabitur mattis felis quis lorem rutrum venenatis. Vivamus facilisis gravida elit, semper molestie velit accumsan in. Donec aliquam rhoncus nunc. Aenean mi nisl, fermentum eu facilisis ut, venenatis eget lectus. Nullam elit nisi, posuere nec tempus vel, interdum et purus. Quisque fringilla enim id massa dapibus tristique. Quisque sodales dictum augue ac ullamcorper.";

$limite = 24; # 100 caracteres de limite.

if( strlen($string) <= $limite )
    echo $string; # Se entrar aqui string tem no máximo 100 caracteres no seu tamanho total.
else
{
  # Se a string, no limite e no caractere seguinte é diferente de espaço, a palavra poderá não ter acabado.
  if( ($string[$limite-1] != ' ') && ($string[$limite] != ' ') )
    while( $string[$limite--] != ' ' ) # Assim, enquanto não encontrarmos um espaço que esteja antes
      $string_truncada = substr($string,0,$limite); # Vamos removendo caracteres
  else
      $string_truncada = substr($string,0,$limite); # Se for um espaço no local onde estou ou no caractere seguinte, tá bem assim...
            
  echo $string_truncada . '...';
  echo "<br/>".strlen($string_truncada);
}

Isto é um código simples... ainda merece ser melhorado... mas é uma maneira simples de se filtrar por palavras.

:thumbsup: Abraço

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.