Jump to content


Photo

Quebra De Caracteres Grandes


  • Faça o login para participar
6 replies to this topic

#1 Dehu

Dehu

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Não informado

Posted 15/01/2007, 11:20

Como quebro uma palavra com varios caracteres repetidos?

Tem alguma função para isto, por exemplo, no campo do meu guestbook alguem digitar:

"Águaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

e eu querer quebrar a linha depois do 4 "a" repetido

Edição feita por: Dehu, 17/01/2007, 14:03.


#2 cybermix

cybermix

    andrewsmedina.com.br

  • Ex-Admins
  • 3586 posts
  • Sexo:Não informado
  • Localidade:Não sou desse planeta não!!!!
  • Interesses:python, fireworks, linux, php, flash...

Posted 16/01/2007, 09:00

voce pode fazer isso usando a função Left, ex:

response.write Left('Aguaaaaa', 4)

o resultado será Agua
www.andrewsmedina.com.br

#3 Dehu

Dehu

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Não informado

Posted 16/01/2007, 10:59

entendi.. mas e se esse meu campo for "memorando" e tiver muitas palavras?
Ela só irá pegar os 4 caracteres iniciais, e eu quero mostrar o campo todo, porém quebrar palavras que tenham muitos caracteres repetidos, senão zoa a tabela na hora de dar um response.write

Valew!

#4 KBR

KBR

    kl3b3r

  • Usuários
  • 392 posts
  • Sexo:Não informado
  • Localidade:Mauá - SP
  • Interesses:ASP // DESENVOLVIMENTO WEB // MYSQL // ACCESS // FLASH // FIREWORKS // DREAMWEAVER // REDES

Posted 08/02/2007, 07:51

Até hoje não vi nenhum sistema que faça isso e se alguém conseguisse desenvolver algum código... ajudaria MUITOS que possuem portais, fórum, chat e muito mais...

#5 siola

siola

    Usuário

  • Usuários
  • 894 posts
  • Sexo:Masculino
  • Localidade:SBC - SP
  • Interesses:ASP, .NET, javascript

Posted 11/02/2007, 13:12

O melhor que consegui foi:
Function TrataTexto(texto)

novotexto = Mid(texto, 1,1)

For i = 2 TO Len(texto)
If Lcase(Mid(texto, i-1, 1)) <> LCase(Mid(texto, i, 1)) Then
parte = Mid(texto, i, 1)
novotexto=novotexto & parte
End If
Next

TrataTexto = novotexto
End Function 

texto = "EEeSSSSSSSSEEEEEEEEEE sSsSSSSsssIIIItttEEE éÉéé MTUUUUU leGAAAAALLLLL"

response.write "texto: " & texto & "<br>"
response.write "tratado: " & TrataTexto(texto)

O problema fica nas palavras que tem 2 "s", por exemplo "esse". Uma maneira de resolver isso seria permitir que o usuario repita 2 letras seguidas.
Ai a função ficaria:
Function TrataTexto(texto)

novotexto = Mid(texto, 1,1)

For i = 3 TO Len(texto)
If Lcase(Mid(texto, i-2, 1)) <> LCase(Mid(texto, i, 1)) Then
parte = Mid(texto, i, 1)
novotexto=novotexto & parte
End If
Next

TrataTexto = novotexto
End Function

Não é ideal, mas quebra um galho.

[]s

#6 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 11/02/2007, 16:41

Caras, uma vez eu fiz um cod assim

http://iporto.com/_s...ra_palavras.asp

naum sei se da uma "luz" hehe
* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto

#7 Tivin

Tivin

    Normal

  • Usuários
  • 92 posts
  • Sexo:Não informado
  • Localidade:Prata Moiado

Posted 14/02/2007, 19:07

Eu uso essa função, e da certinho!


Function QuebraPalavra(Frase, Indice)
 Palavra = Array() ' Determina o Array que receberá a frase a ser quebrada
 Palavra = Split(Frase," ") ' Quebra a frase onde existe espação em branco
 For i = LBound(Palavra) to UBound(Palavra) ' Faz um laço tendo como limites o primeiro item do Array (limite inferior -> LBound(Array)) e o ultimo item do Array (limite superior -> UBound(Aray))
  Variavel = Palavra(i)
  
  If (Len(Variavel) > Indice) Then ' Verifica se a palavra tem mais de 50 caracteres
   Do While (Len(Variavel) > Indice)
	Final = Final & " " & Mid(Variavel, 1, Indice) & " " ' Se for maior que 50 caracteres escreve os 50 primeiros caracteres da palavra e depois o restante...
	Variavel = Mid(Variavel, Indice + 1)
	  Loop  
 		
	Final = Final & " " & Variavel
  Else
	Final = Final & " " & Variavel ' Se não for maior que 50 caracteres escreve a palavra inteira...
  End If

  Next
  


 QuebraPalavra = Final
End Function
e a chamo assim

msg = quebrapalavra(msg,50)


Espero ter ajudado




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq