Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Destino

Como limitar string com "..."

Recommended Posts

Olá pessoal, :D Tudo bem, estou tentando limitar a exibição de uma descrição de um produto com o fim com "...", mas não tenho a mínima idéia de como fazer :blink: , espero que possam me ajudar, desde já muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem essa funcao:

PHP [/tr][tr]<?

function iniTag($palavra){

$contaPal = strlen($palavra);

for($i=0; $i<$contaPal; $i++){

if($palavra[$i]=="<"){

$achou = "1";

$i = $contaPal;

}else{

$achou = "0";

}

 

}

return $achou;

}

function fimTag($palavra){

$contaPal = strlen($palavra);

for($i=0; $i<$contaPal; $i++){

if($palavra[$i]==">"){

$achou = "1";

$i = $contaPal;

}else{

$achou = "0";

}

 

}

return $achou;

}

 

function cortaTexto($string,$corte){

$palavra = explode(" ",$string);

$totalPalavras = count($palavra);

$incrementa = "";

for($i=0; $i<$corte; $i++) {

$iniTag = iniTag($palavra[$i]);

if($iniTag=="1"){

$palavraTag = $i+1;

$abreTag = $i;

while($palavraTag<$totalPalavras){

$fimTag = fimTag($palavra[$palavraTag]);

if($fimTag=="1"){

$fechaTag = $palavraTag;

$palavraTag=$totalPalavras;

}else{

$palavraTag++;

}

}

for($ac=$abreTag; $ac<$fechaTag+1; $ac++){

$tag .= $palavra[$ac]." ";

}

$tag = trim($tag);

$tagEsp = count(explode(" ",trim($tag)))-1;

$corte = $corte+$tagEsp;

}

$incrementa .= $palavra[$i]." ";

}

return trim($incrementa)."...";

}

$texto = "<font face='verdana' size='1'>1 2 3 4 5 6<font> 7 8 9 10";

print cortaTexto($texto,'100');

?>

[/tr]

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem essa funcao:

PHP [/tr][tr]<?

function iniTag($palavra){

$contaPal = strlen($palavra);

for($i=0; $i<$contaPal; $i++){

  if($palavra[$i]=="<"){

  $achou = "1";

  $i = $contaPal;

  }else{

  $achou = "0";

  }

 

}

return $achou;

}

function fimTag($palavra){

$contaPal = strlen($palavra);

for($i=0; $i<$contaPal; $i++){

  if($palavra[$i]==">"){

  $achou = "1";

  $i = $contaPal;

  }else{

  $achou = "0";

  }

 

}

return $achou;

}

 

function cortaTexto($string,$corte){

$palavra = explode(" ",$string);

$totalPalavras = count($palavra);

$incrementa = "";

for($i=0; $i<$corte; $i++) {

  $iniTag = iniTag($palavra[$i]);

  if($iniTag=="1"){

  $palavraTag = $i+1;

  $abreTag = $i;

  while($palavraTag<$totalPalavras){

    $fimTag = fimTag($palavra[$palavraTag]); 

    if($fimTag=="1"){

    $fechaTag = $palavraTag;

    $palavraTag=$totalPalavras;

    }else{

    $palavraTag++;

    }

  }

  for($ac=$abreTag; $ac<$fechaTag+1; $ac++){

    $tag .= $palavra[$ac]." ";   

  }

  $tagtrim($tag);

  $tagEsp = count(explode(" ",trim($tag)))-1;

  $corte = $corte+$tagEsp;

  }

  $incrementa .= $palavra[$i]." ";

}

return trim($incrementa)."...";

}

$texto = "<font face='verdana' size='1'>1 2 3 4 5 6<font> 7 8 9 10";

print cortaTexto($texto,'100');

?>

[/tr]
Ixiiiiiii, pra q td isso?!?! hehehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

esta funcao corta por espacos " " e no meio das <tag> sempre tem espacos<img src="#" border="" alt=""> so nesta teria 3 espacos, q seria contabilizado e sem necessidade!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem necessidade?!?!

 

A questão do Tópico é apenas cortar uma string, só isso q ele pediu... ^_^ .

 

O q pode ser util é se estabelecer um valor máximo e quebrar a string, se estiver no meio de uma palavra continuar até o espaço e ai sim quebrar, parar está, assim evita palavras cortadas, agora analizar código html... ;)

 

você pode resumir mto seu código com preg_match. :rolleyes:

 

Mas, enfim é um exemplo a mais... ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

você PODE USAR O SUBSTR

 

POR EXEMPLO,

 

$variavel = "SEU TEXTO AQUI";

echo substr($variavel,0,3)."...";

 

O substr quebra a string (neste caso, a partir da primeira posição até a terceira)

 

No final, você concatena com três pontos.

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu caros amigos, vou dar uma estudada nisso, muito obrigado por tudo, espero um dia poder estar ajudando os aoutros como vocês, valeu michelsp e desculpa a confusão, lembra ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas nesse substr aí tem o seguinte:

se o texto for menor que o limite da string, "..." aparecerá do mesmo jeito. Eu sugiro assim:

PHP [/tr][tr]

echo substr($texto,0,20);

if(strlen($texto)>20){echo"...";}

[/tr]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal, :D

 

Tudo bem, estou tentando limitar a exibição de uma descrição de um produto com o fim com "...", mas não tenho a mínima idéia de como fazer :blink: , espero que possam me ajudar, desde já muito obrigado.

Nossa Cara, passaram uns trecos gigantescos, usa isso:

 

PHP [/tr][tr]

<?php

echo ( strlen($row...['camp']) > TAMANHOMAXIMO ? substr($row...['camp'],0,TAMANHOAEXIBIR)."..." : $row...['camp']) ?>

[/tr]

 

Espero ter sido útil.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.