Ir para conteúdo

POWERED BY:

Arquivado

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

naofuieu

Replace

Recommended Posts

Eu queria saber como é a sintaxe da função Replace para substituir o caractere "/" por "\".

 

Dá p/ substituir toda uma sequência de caracteres po um único caractere?

Tipo " " por "_"?

 

Como se substitui uma "galeria" de caracteres por outro, caso cada um apareça?

Tipo, cada ".", ",", "<" ou ">" que aparecer (cada um) vire um "*"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sintaxe:

Replace(Expressão, Encontrar, Substituir [,Início [,Quantidade [,Tipo de Comparação]]])
Expressão:

Obrigatório, texto que contenha o subtexto a ser substituido;

Encontrar:

Obrigatório, subtexto a ser procurado;

Substituir:

Obrigatório, texto ou caratere que entrará no lugar do subtexto a encontrar;

Início:

Opcional, posição de inicio da pesquisa. Se omitido o padrão assumido é 1;

Quantidade:

Opcional, numero de substituições e serem feitas. Se omitido o padrão assumido é -1 (fará todas as substituições possíveis);

Tipo de Comparação:

Opcional, valor numério para definir o tipo de comparação, 0 para Binária (exata, case sensitive) e 1 para Textual (pelo texto, case insensitive). Se omitido o padrão assumido é 0

Como dá para ver na sintaxe é possível substituir uma sequencia por um caractere.

 

Já para substituir diversos caracteres separados por outro deve ser feita uma matriz e um laço de repetição para se efetuar todas as substituições.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode me dar um exemplo, por favor?De preferência usa os caracteres que eu disse.Valeu!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

replace(variavel, ".", "*")replace(variavel, ",", "*")replace(variavel, "<", "*")replace(variavel, ">", "*")replace(variavel, ".", "*")é so você fase um replace para cada caractrer que você deseja substituir como da forma acima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

E na variável eu ponho o que deve ser analisado e substiyuído, tô certo?

 

Tipo:

ASP

[*]strTexto Request.Form("texto")

 

[*]Replace(strTexto, "\""/")

 

[*]Replace(strTexto, " ""_")

Compartilhar este post


Link para o post
Compartilhar em outros sites

E na variável eu ponho o que deve ser analisado e substiyuído, tô certo?

 

Tipo:

ASP

[*]strTexto Request.Form("texto")<br />Replace(strTexto, "\""/")<br />Replace(strTexto, " ""_")

<{POST_SNAPBACK}>

lembrando que você tera que atribuir a variavel o novo valor.

 

ASP

[*]

 

[*]strTexto Request.Form("texto")

 

[*]strTexto Replace(strTexto, "\""/")

 

[*]strTexto Replace(strTexto, " ""_")

[/ASP]

Compartilhar este post


Link para o post
Compartilhar em outros sites

lembrando que você tera que atribuir a variavel o novo valor.

isso mesmo não pode ficar solto daquele jeito

Compartilhar este post


Link para o post
Compartilhar em outros sites

E mesmo assim todos os Replaces que eu der vão ser executados?

 

Eu tô perguntando pq qudo você declara valores seguidos p/ uma variável sem chamá-la novamente o valor é substituído e não é usado...

 

ñ era p/ ficar assim, ñ?

ASP

[*]strTexto Request.Form("texto")

 

[*]

 

[*]strTexto = strTexto & Replace(strTexto, "\""/")

 

[*]

 

[*]strTexto = strTexto &Replace(strTexto, " ""_")

Compartilhar este post


Link para o post
Compartilhar em outros sites

não concatenestrTexto = Request.Form("texto")strTexto = Replace(strTexto, "\", "/")strTexto = Replace(strTexto, " ", "_")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeus!!! Vou testar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeus!!! Vou testar.

<{POST_SNAPBACK}>

ok então

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Valeus!!! Vou testar.

<{POST_SNAPBACK}>

 

ok então

<{POST_SNAPBACK}>

Pessoal, estou com um problema parecido!Estou fazendo um mural de recados... onde ao postar o usuário insere os smileys... só que na hora de exibir, as mensagem estão repetidas! Vcs podem me dar uma ajudinha ae! Obrigado.Fiz assim:Variável = rs("campo")variável = replace(variável, "carinha1", "endereço1")variável = replace(variável, "carinha2", "endereço2")variável = replace(variável, "carinha3", "endereço3")Para exibir fiz assim:<%=(Variável)%>Me ajudem...

Compartilhar este post


Link para o post
Compartilhar em outros sites

você esta mudando de registros com um movenext???

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque o codigo que você esta usando pra eu ver...bem ponha apenas o trecho que você escreve as mensagens na tela

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque o codigo que você esta usando pra eu ver...

 

bem ponha apenas o trecho que você escreve as mensagens na tela

<{POST_SNAPBACK}>

Galera!

 

Desde já agradeço a ajuda...

 

Mário, depois de fazer a variável com os replaces com o endereço de cada emoticon eu coloquei esse código pra mostrar as mensagens: <%=(responde)%>

ops! responde é a minha variável.

 

Obs.: O rs.movenext eu coloco qd vou declarar as variáveis ou no código de exibição das mensagens?

 

Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

na exibicaoseria tipo assimvocê seleciona as mensagens e imprimi elas dentro de um laço de repeticaoWHILE NOT RS.EOFresponse.write responde & "<br>"RS.MOVENEXTWEND

Compartilhar este post


Link para o post
Compartilhar em outros sites

na exibicao

 

seria tipo assim

 

você seleciona as mensagens e imprimi elas dentro de um laço de repeticao

 

WHILE NOT RS.EOF

response.write responde & "<br>"

RS.MOVENEXT

WEND

<{POST_SNAPBACK}>

Galera! acho mais fácil postar o código:

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

<!--#include file="Connections/Mural.asp" -->

<%

Dim rsMsgs__MMColParam

rsMsgs__MMColParam = "0"

If (Request.QueryString("0") <> "") Then

rsMsgs__MMColParam = Request.QueryString("0")

End If

%>

<%

Dim rsMsgs

Dim rsMsgs_numRows

 

Set rsMsgs = Server.CreateObject("ADODB.Recordset")

rsMsgs.ActiveConnection = MM_Mural_STRING

rsMsgs.Source = "SELECT * FROM Mural2 WHERE RespID = " + Replace(rsMsgs__MMColParam, "'", "''") + " ORDER BY Id DESC"

rsMsgs.CursorType = 0

rsMsgs.CursorLocation = 2

rsMsgs.LockType = 1

rsMsgs.Open()

 

rsMsgs_numRows = 0

%>

<%If not rsMsgs.eof or not rsMsgs.bof then

boneco = rsMsgs("Usuario")

boneco = replace(boneco, "(1)", "<img src=imagens/user/1.gif>")

boneco = replace(boneco, "(2)", "<img src=imagens/user/2.gif>")

boneco = replace(boneco, "(3)", "<img src=imagens/user/3.gif>")

boneco = replace(boneco, "(4)", "<img src=imagens/user/4.gif>")

boneco = replace(boneco, "(5)", "<img src=imagens/user/5.gif>")

boneco = replace(boneco, "(6)", "<img src=imagens/user/6.gif>")

boneco = replace(boneco, "(7)", "<img src=imagens/user/7.gif>")

boneco = replace(boneco, "(8)", "<img src=imagens/user/8.gif>")

boneco = replace(boneco, "(9)", "<img src=imagens/user/9.gif>")

boneco = replace(boneco, "(10)", "<img src=imagens/user/10.gif>")

boneco = replace(boneco, "(11)", "<img src=imagens/user/11.gif>")

boneco = replace(boneco, "(12)", "<img src=imagens/user/12.gif>")

boneco = replace(boneco, "(13)", "<img src=imagens/user/13.gif>")

boneco = replace(boneco, "(14)", "<img src=imagens/user/14.gif>")

boneco = replace(boneco, "(15)", "<img src=imagens/user/15.gif>")

End if

%>

<%

Dim Repeat1__numRows

Dim Repeat1__index

 

Repeat1__numRows = 10

Repeat1__index = 0

rsMsgs_numRows = rsMsgs_numRows + Repeat1__numRows

%>

<%

' *** Recordset Stats, Move To Record, and Go To Record: declare stats variables

 

Dim rsMsgs_total

Dim rsMsgs_first

Dim rsMsgs_last

 

' set the record count

rsMsgs_total = rsMsgs.RecordCount

 

' set the number of rows displayed on this page

If (rsMsgs_numRows < 0) Then

rsMsgs_numRows = rsMsgs_total

Elseif (rsMsgs_numRows = 0) Then

rsMsgs_numRows = 1

End If

 

' set the first and last displayed record

rsMsgs_first = 1

rsMsgs_last = rsMsgs_first + rsMsgs_numRows - 1

 

' if we have the correct record count, check the other stats

If (rsMsgs_total <> -1) Then

If (rsMsgs_first > rsMsgs_total) Then

rsMsgs_first = rsMsgs_total

End If

If (rsMsgs_last > rsMsgs_total) Then

rsMsgs_last = rsMsgs_total

End If

If (rsMsgs_numRows > rsMsgs_total) Then

rsMsgs_numRows = rsMsgs_total

End If

End If

%>

<%

' *** Recordset Stats: if we don't know the record count, manually count them

 

If (rsMsgs_total = -1) Then

 

' count the total records by iterating through the recordset

rsMsgs_total=0

While (Not rsMsgs.EOF)

rsMsgs_total = rsMsgs_total + 1

rsMsgs.MoveNext

Wend

 

' reset the cursor to the beginning

If (rsMsgs.CursorType > 0) Then

rsMsgs.MoveFirst

Else

rsMsgs.Requery

End If

 

' set the number of rows displayed on this page

If (rsMsgs_numRows < 0 Or rsMsgs_numRows > rsMsgs_total) Then

rsMsgs_numRows = rsMsgs_total

End If

 

' set the first and last displayed record

rsMsgs_first = 1

rsMsgs_last = rsMsgs_first + rsMsgs_numRows - 1

 

If (rsMsgs_first > rsMsgs_total) Then

rsMsgs_first = rsMsgs_total

End If

If (rsMsgs_last > rsMsgs_total) Then

rsMsgs_last = rsMsgs_total

End If

 

End If

%>

 

<%

Dim MM_paramName

%>

<%

' *** Move To Record and Go To Record: declare variables

 

Dim MM_rs

Dim MM_rsCount

Dim MM_size

Dim MM_uniqueCol

Dim MM_offset

Dim MM_atTotal

Dim MM_paramIsDefined

 

Dim MM_param

Dim MM_index

 

Set MM_rs = rsMsgs

MM_rsCount = rsMsgs_total

MM_size = rsMsgs_numRows

MM_uniqueCol = ""

MM_paramName = ""

MM_offset = 0

MM_atTotal = false

MM_paramIsDefined = false

If (MM_paramName <> "") Then

MM_paramIsDefined = (Request.QueryString(MM_paramName) <> "")

End If

%>

<%

' *** Move To Record: handle 'index' or 'offset' parameter

 

if (Not MM_paramIsDefined And MM_rsCount <> 0) then

 

' use index parameter if defined, otherwise use offset parameter

MM_param = Request.QueryString("index")

If (MM_param = "") Then

MM_param = Request.QueryString("offset")

End If

If (MM_param <> "") Then

MM_offset = Int(MM_param)

End If

 

' if we have a record count, check if we are past the end of the recordset

If (MM_rsCount <> -1) Then

If (MM_offset >= MM_rsCount Or MM_offset = -1) Then ' past end or move last

If ((MM_rsCount Mod MM_size) > 0) Then ' last page not a full repeat region

MM_offset = MM_rsCount - (MM_rsCount Mod MM_size)

Else

MM_offset = MM_rsCount - MM_size

End If

End If

End If

 

' move the cursor to the selected record

MM_index = 0

While ((Not MM_rs.EOF) And (MM_index < MM_offset Or MM_offset = -1))

MM_rs.MoveNext

MM_index = MM_index + 1

Wend

If (MM_rs.EOF) Then

MM_offset = MM_index ' set MM_offset to the last possible record

End If

 

End If

%>

<%

' *** Move To Record: if we dont know the record count, check the display range

 

If (MM_rsCount = -1) Then

 

' walk to the end of the display range for this page

MM_index = MM_offset

While (Not MM_rs.EOF And (MM_size < 0 Or MM_index < MM_offset + MM_size))

MM_rs.MoveNext

MM_index = MM_index + 1

Wend

 

' if we walked off the end of the recordset, set MM_rsCount and MM_size

If (MM_rs.EOF) Then

MM_rsCount = MM_index

If (MM_size < 0 Or MM_size > MM_rsCount) Then

MM_size = MM_rsCount

End If

End If

 

' if we walked off the end, set the offset based on page size

If (MM_rs.EOF And Not MM_paramIsDefined) Then

If (MM_offset > MM_rsCount - MM_size Or MM_offset = -1) Then

If ((MM_rsCount Mod MM_size) > 0) Then

MM_offset = MM_rsCount - (MM_rsCount Mod MM_size)

Else

MM_offset = MM_rsCount - MM_size

End If

End If

End If

 

' reset the cursor to the beginning

If (MM_rs.CursorType > 0) Then

MM_rs.MoveFirst

Else

MM_rs.Requery

End If

 

' move the cursor to the selected record

MM_index = 0

While (Not MM_rs.EOF And MM_index < MM_offset)

MM_rs.MoveNext

MM_index = MM_index + 1

Wend

End If

%>

<%

' *** Move To Record: update recordset stats

 

' set the first and last displayed record

rsMsgs_first = MM_offset + 1

rsMsgs_last = MM_offset + MM_size

 

If (MM_rsCount <> -1) Then

If (rsMsgs_first > MM_rsCount) Then

rsMsgs_first = MM_rsCount

End If

If (rsMsgs_last > MM_rsCount) Then

rsMsgs_last = MM_rsCount

End If

End If

 

' set the boolean used by hide region to check if we are on the last record

MM_atTotal = (MM_rsCount <> -1 And MM_offset + MM_size >= MM_rsCount)

%>

<%

' *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters

 

Dim MM_keepNone

Dim MM_keepURL

Dim MM_keepForm

Dim MM_keepBoth

 

Dim MM_removeList

Dim MM_item

Dim MM_nextItem

 

' create the list of parameters which should not be maintained

MM_removeList = "&index="

If (MM_paramName <> "") Then

MM_removeList = MM_removeList & "&" & MM_paramName & "="

End If

 

MM_keepURL=""

MM_keepForm=""

MM_keepBoth=""

MM_keepNone=""

 

' add the URL parameters to the MM_keepURL string

For Each MM_item In Request.QueryString

MM_nextItem = "&" & MM_item & "="

If (InStr(1,MM_removeList,MM_nextItem,1) = 0) Then

MM_keepURL = MM_keepURL & MM_nextItem & Server.URLencode(Request.QueryString(MM_item))

End If

Next

 

' add the Form variables to the MM_keepForm string

For Each MM_item In Request.Form

MM_nextItem = "&" & MM_item & "="

If (InStr(1,MM_removeList,MM_nextItem,1) = 0) Then

MM_keepForm = MM_keepForm & MM_nextItem & Server.URLencode(Request.Form(MM_item))

End If

Next

 

' create the Form + URL string and remove the intial '&' from each of the strings

MM_keepBoth = MM_keepURL & MM_keepForm

If (MM_keepBoth <> "") Then

MM_keepBoth = Right(MM_keepBoth, Len(MM_keepBoth) - 1)

End If

If (MM_keepURL <> "") Then

MM_keepURL = Right(MM_keepURL, Len(MM_keepURL) - 1)

End If

If (MM_keepForm <> "") Then

MM_keepForm = Right(MM_keepForm, Len(MM_keepForm) - 1)

End If

 

' a utility function used for adding additional parameters to these strings

Function MM_joinChar(firstItem)

If (firstItem <> "") Then

MM_joinChar = "&"

Else

MM_joinChar = ""

End If

End Function

%>

<%

' *** Move To Record: set the strings for the first, last, next, and previous links

 

Dim MM_keepMove

Dim MM_moveParam

Dim MM_moveFirst

Dim MM_moveLast

Dim MM_moveNext

Dim MM_movePrev

 

Dim MM_urlStr

Dim MM_paramList

Dim MM_paramIndex

Dim MM_nextParam

 

MM_keepMove = MM_keepBoth

MM_moveParam = "index"

 

' if the page has a repeated region, remove 'offset' from the maintained parameters

If (MM_size > 1) Then

MM_moveParam = "offset"

If (MM_keepMove <> "") Then

MM_paramList = Split(MM_keepMove, "&")

MM_keepMove = ""

For MM_paramIndex = 0 To UBound(MM_paramList)

MM_nextParam = Left(MM_paramList(MM_paramIndex), InStr(MM_paramList(MM_paramIndex),"=") - 1)

If (StrComp(MM_nextParam,MM_moveParam,1) <> 0) Then

MM_keepMove = MM_keepMove & "&" & MM_paramList(MM_paramIndex)

End If

Next

If (MM_keepMove <> "") Then

MM_keepMove = Right(MM_keepMove, Len(MM_keepMove) - 1)

End If

End If

End If

 

' set the strings for the move to links

If (MM_keepMove <> "") Then

MM_keepMove = MM_keepMove & "&"

End If

 

MM_urlStr = Request.ServerVariables("URL") & "?" & MM_keepMove & MM_moveParam & "="

 

MM_moveFirst = MM_urlStr & "0"

MM_moveLast = MM_urlStr & "-1"

MM_moveNext = MM_urlStr & CStr(MM_offset + MM_size)

If (MM_offset - MM_size < 0) Then

MM_movePrev = MM_urlStr & "0"

Else

MM_movePrev = MM_urlStr & CStr(MM_offset - MM_size)

End If

%>

 

<script RUNAT=SERVER LANGUAGE=VBSCRIPT>

function DoDateTime(str, nNamedFormat, nLCID)

dim strRet

dim nOldLCID

 

strRet = str

If (nLCID > -1) Then

oldLCID = Session.LCID

End If

 

On Error Resume Next

 

If (nLCID > -1) Then

Session.LCID = nLCID

End If

 

If ((nLCID < 0) Or (Session.LCID = nLCID)) Then

strRet = FormatDateTime(str, nNamedFormat)

End If

 

If (nLCID > -1) Then

Session.LCID = oldLCID

End If

 

DoDateTime = strRet

End Function

</SCRIPT>

<html>

<head>

<title>Mural de Recados</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

 

<body text="#336699" link="#336699" vlink="#336699" alink="#FF0000" leftmargin="0" topmargin="5" marginwidth="0" marginheight="0">

<div align="center"></div>

<table width="99%" border="0" align="center" cellpadding="1" cellspacing="0" bgcolor="#336699">

<tr>

<td> <font color="#336699" size="1" face="Verdana, Arial, Helvetica, sans-serif"> </font>

<table width="100%" border="0" cellspacing="1" cellpadding="1">

<tr>

<td colspan="4" bgcolor="#FFFFFF"><div align="left"><font color="#336699" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>MURAL

DE RECADOS DA NATION INFORMÁTICA</strong></font></div></td>

<td width="19%" bgcolor="#FFFFFF"><div align="center"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><a href="mural_postar.asp">Postar

novo recado</a></font></div></td>

</tr>

<tr bgcolor="#FFFFFF">

<td height="25" colspan="5"><div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><<

<a href="<%=MM_movePrev%>">Anterior</a>

<a href="<%=MM_moveNext%>">Próximo</a>

>> </font></div></td>

</tr>

<tr>

<td colspan="2"><strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">AUTOR</font></strong></td>

<td width="14%"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>PARA</strong></font></td>

<td width="39%"><strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">ASSUNTO</font></strong></td>

<td><div align="center"><strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">RESPOSTAS</font></strong></div></td>

</tr>

<%

While ((Repeat1__numRows <> 0) AND (NOT rsMsgs.EOF))

%>

<% If Not rsMsgs.EOF Or Not rsMsgs.BOF Then %>

<tr bgcolor="#FFFFFF">

<td width="3%"><div align="center"><font color="#336699" size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=(boneco)%><br>

</font></div></td>

<td width="25%"><font color="#336699" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong><%=(rsMsgs.Fields.Item("De").Value)%></strong><br>

<%= DoDateTime((rsMsgs.Fields.Item("data").Value), 2, -1) %><br>

<%=(rsMsgs.Fields.Item("Email").Value)%></font></td>

<td nowrap><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=(rsMsgs.Fields.Item("Para").Value)%></font></td>

<td><font color="#336699" size="1" face="Verdana, Arial, Helvetica, sans-serif"><a href="mural_resposta.asp?<%= MM_keepNone & MM_joinChar(MM_keepNone) & "Id=" & rsMsgs.Fields.Item("Id").Value %>"><%=(rsMsgs.Fields.Item("assunto").Value)%></a></font></td>

<td height="2"><div align="center"><font color="#336699" size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=(rsMsgs.Fields.Item("CountOfid").Value)%></font></div></td>

</tr>

<% End If ' end Not rsMsgs.EOF Or NOT rsMsgs.BOF %>

 

<%

Repeat1__index=Repeat1__index+1

Repeat1__numRows=Repeat1__numRows-1

rsMsgs.MoveNext()

Wend

%>

<tr>

<td colspan="5"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">Exibindo

mensagem <%=(rsMsgs_first)%> de <%=(rsMsgs_last)%> a <%=(rsMsgs_total)%></font></td>

</tr>

</table></td>

</tr>

</table>

<% If rsMsgs.EOF And rsMsgs.BOF Then %>

<div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">

</font> </div>

<div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>NÃO

EXISTEM RECADOS NESTE MURAL</strong></font> </div>

<% End If ' end rsMsgs.EOF And rsMsgs.BOF %>

</body>

</html>

<%

rsMsgs.Close()

Set rsMsgs = Nothing

%>

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.