Jump to content


Photo

Retirar O Excesso De Enters


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

#1 Tivin

Tivin

    Normal

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

Posted 23/02/2006, 15:35

Ola pessoal!
eu uso o seguinte

msg = (replace(rs("mensagem"),chr(13),"<br>"))


ai, blz, ele troca bonitin, mas se o engraçadinho do usuario que estiver escrevendo uma msg, clicar varias vezess no enter.. vaki ficar um espação em branco no final!

como faria pra substituir so no meio do texto!

att
Tivin

#2 replay

replay

    Agora a vida começa...

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

Posted 23/02/2006, 17:14

Não sei se vai funcionar mas tenta botar um trim


msg =Trim(replace(rs("mensagem"),chr(13),"<br>"))

valeu :P
Não me adicione no MSN pq eu não vo te ajuda... se insistir eu vo ser grosso!!!
Ta com dúvida pergunta aqui no fórum...
Grato

#3 Tivin

Tivin

    Normal

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

Posted 23/02/2006, 19:04

Já tentei!
Mas não da certo!
:(

#4 Generation

Generation

    Super Veterano

  • Usuários
  • 1546 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 23/02/2006, 20:39

Tivin, bom quando eu necessitava de utlizar somente o texto sem a formatação eu retirava todos os codigos HTML, para evitar isso...no meio do texto voce teria que saber o local e qual a regra para fazer isso e pensar em como fazer essa alteração... depende do porque..voce pode retirar o html que é bem mais facil ;)


[]'s
Favoritos : | OpenSuse | Opera | Firefox | NetBeans | GMail | Leia As Regras | Use a Busca | Como fazer Perguntas Inteligentes |
“Obstáculos são aquelas coisas medonhas que você vê quando tira seus olhos de seu objetivo” (Henry Ford)
“É impossível para um homem aprender aquilo que ele acha que já sabe.” (Epíteto)
“A única razão da existência do tempo é para que todas as coisas não aconteçam de uma vez.”(Albert Einstein)

#5 siola

siola

    Usuário

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

Posted 24/02/2006, 10:31

ah, tem um jeito q eu sei q não é o melhor, mas funciona =p

vc pode ir dando replace no texto de quando tem 3 ou 2 enters pra um só, algumas vezes, pra garantir q eles diminuam pelo menos =p

msg = (replace(rs("mensagem"),chr(13),"<br>"))
msg = (msg,"<br><br><br>","<br>"))
msg = (msg,"<br><br>","<br>"))


isso ja deve diminuir bastante o numero de enters, pelo menos por enquanto você não acha uma soluçao melhor =p

[]s

Edição feita por: O_Chacal, 24/02/2006, 12:16.


#6 Tivin

Tivin

    Normal

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

Posted 24/02/2006, 15:09

fala ae O_Chacal
deu certo nao
:(
hhehe
Att
Tivin

#7 Tivin

Tivin

    Normal

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

Posted 27/02/2006, 01:20

ae galera! consegui o codigo!
a quem possa interessar!
ta ae
texto = rs("mensagem")
texto = trim(texto)
'para retirar os espaços em branco
 Dim i, j
    ' Percorro o inicio pra verificar...
    For i=1 To Len(texto) Step 2
     If Asc(Mid(texto,i,1))<>13 Then Exit For
    Next 
    texto=Mid(texto,i,Len(texto))
    ' Percorro o fim pra verificar...
    For j=Len(texto) To 1 Step -2
     If Asc(Mid(texto,j,1))<>10 Then Exit For
    Next 
    texto=Mid(texto,1,j)
texto = (replace(texto,chr(13),"<br>"))
'usando o replace pra ter as quebras no meio do texto


valeu ai galera!!!

So lembrando, não criei esse codigo não.
achei ele prontinho na pagina, so acresceneti o TRIM
ate mais

#8 felipecm

felipecm

    Expert

  • Usuários
  • 541 posts
  • Sexo:Não informado
  • Localidade:ABC / SP

Posted 28/02/2006, 14:10

ae galera! consegui o codigo!
a quem possa interessar!
ta ae

texto = rs("mensagem")
texto = trim(texto)
'para retirar os espaços em branco
 Dim i, j
    ' Percorro o inicio pra verificar...
    For i=1 To Len(texto) Step 2
     If Asc(Mid(texto,i,1))<>13 Then Exit For
    Next 
    texto=Mid(texto,i,Len(texto))
    ' Percorro o fim pra verificar...
    For j=Len(texto) To 1 Step -2
     If Asc(Mid(texto,j,1))<>10 Then Exit For
    Next 
    texto=Mid(texto,1,j)
texto = (replace(texto,chr(13),"<br>"))
'usando o replace pra ter as quebras no meio do texto


valeu ai galera!!!

So lembrando, não criei esse codigo não.
achei ele prontinho na pagina, so acresceneti o TRIM
ate mais

Ai vai uma versão alternativa que eu tenho aqui.
Similar a função Trim, a regra é usar InStr / InStrRev para verificar enquanto existir uma string/caracter no comeco e no fim da string. (O caracter é passado como parâmetro):

  Function TrimAlt(strBuf, strChar)
    While InStr(strBuf, strChar) = 1
      strBuf = Mid(strBuf, Len(strChar) + 1)
    Wend
    
    While InStrRev(strBuf, strChar) = Len(strBuf) - (Len(strChar) - 1) And Len(strBuf) > 0
      strBuf = Left(strBuf, Len(strBuf) - Len(strChar))
    Wend
    
    TrimAlt = strBuf
  End Function

Segue como exemplo:
  Dim strTeste

  strTeste = vbCrLf & vbCrLf & "Teste123" & vbCrLf & "Teste123" & VbCrLf
  Response.Write(Replace(TrimAlt(strTeste, vbCrLf), vbCrLf, "<br />")`)

(y)
MCAD, MCP




2 user(s) are reading this topic

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

IPB Skin By Virteq