Ir para conteúdo

POWERED BY:

Arquivado

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

Thiago Paschoalin

como garantir a palavra completa.

Recommended Posts

oLHA EU DINOVO ^^

 

Eu tenho um textarea para inserir uma notícia, sem limitação de tamanho (caracteres), mas essa noticia irá aparecer somente uma brévia na página inicial, então usei o MID

 

<% = Mid(rs("texto_noticia"),1,255) & "..." %>

POREMMMMM.... eu gostaria que, MESMO SE PASSAR UM POUCO DO 255 caracteres, não cortasse a palavra pela metade, tem como fazer isso ?

 

Ex: no char. 255 está pegando a letra 'c' na palavra 'melancia', como faria para verificar isso e mostrar dentro do MID (no exemplo) +2 Chars (ia)?

 

Seria mais fácil perguntar se tem como ver se o caracteres 255 é um espaço em branco, sem letra, então assim fechar o MID, CASO CONTRÁRIO, ele procure o próximo espaço em branco que esteja DEPOIS de 255 caracteres e assim mostrar a ultima palavra inteira.

 

Grato desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

i = 255
Variavel = Mid(rs("texto_noticia"),i,1)
While Variavel <> " "

Variavel = Mid(rs("texto_noticia"),i,1)
If (Mid(rs("texto_noticia"),i,1) <> " ") Then
Response.Write(Mid(rs("texto_noticia"),1,i))
End if
i = i + 1

Wend

PS: NAO TESTADO

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu esse erro:

 

Response object error 'ASP 0251 : 80004005' 

Response Buffer Limit Exceeded 

/palavra/resultados.asp, line 0 

Execution of the ASP page caused the Response Buffer to exceed its configured limit.

Eu achei sobre esse erro, "excesso de informação", porem o texto esta pequeno, com 600 caracteres.

 

Bom, tinha lá no tópico para colocar <% Response.Buffer = True %> o cara colocou e deu erro então colocou <% Response.Buffer = False %> e deu ceerto apra ele.

 

Fiz a mesma coisa... com o TRUE ele dá erro mesmo assim, mas com o FALSE ele está carregando a página faz uns 4 minutos... ou seja, tb não deu certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está falando de uma função que você criou ? Ela é muito legal, mas não resolve o meu problema, é quase a mesma coisa... QUASE.

 

Só que a diferença é que eu tenho que pegar um único texto de dividir em 2 partes, sabendo que a 2ª parte começara EXATAMENTE onde a 1ª parte terminará E SEM REPITIR NENHUMA LETRA !

 

 

Esse é o código que o Darkdemo me mandou, tirou 2 tags e funcionou legal:

 

<table width="400" cellpadding="0" cellspacing="0" class="Verdana_12_Preto">
<tr><td width="280" valign="top">

<% i = 273
Variavel = Mid(rs("T_Projetos"),i,1)
If (Mid(rs("T_Projetos"),i,1) <> " ") Then
Response.Write(Mid(rs("T_Projetos"),1,i))
End if
i = i + 1 %>

</td>
<td width="120" height="100">Uma Imagem</td>
</tr>
<tr><td colspan="2">

<% = Mid(rs("T_Projetos"),i,50000) %>

</td></tr>
</table>


Veja que peguei o resultado do 'i' para a 2ª parte, então exatamente onde acaba a 1ª parte, a 2ª começa.

POREM... ele vai cortar no caractere 255 mesmo que ele corte a palavra no meio, e é só isso que preciso corrigir,

ELE NÃO PODE CORTAR A PALAVRA NO MEIO, ou que termine a palavra, ou mostre ela inteira na 2ª parte.

 

O Unico problema do sistema que você fez Jonathan para o meu caso, é que ele não separa o mesmo texto 2 vezes, como mostrei agora.

 

Aguardo... Obrigado.

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.