Ir para conteúdo

POWERED BY:

Arquivado

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

Xandão Grunge

Replace

Recommended Posts

Olá a todos!

 

Estou desenvolvento uma função em ASP que permite que usuários entre com as dados formatados, criando dois vetores com a mesma dimensão, sendo um em um deles contém os dados que deve procurar, e no outro os dados que devem substituir os procurados. É claro que tudo na respectiva ordem.

 

Segue o código:

 

<%Dim vtxt, vhtm, resultado, br, valorSet fs=Server.CreateObject("Scripting.FileSystemObject")Set f=fs.OpenTextFile(Server.MapPath("teste.txt"), 1)valor =f.ReadAllf.CloseSet f=NothingSet fs=Nothingresponse.Write(valor)br=chr(13)&chr(13)vtxt=array("[b]", "[/b]", "[i]", "[/i]", "[u]", "[/u]", br, "[topico]", "[p=e]", "[p=d]", "[p=c]", "[p=j]", "[/p]")vhtm =array("<b>", "</b>", "<i>", "</i>", "<u>", "</u>", "<br />", "» ", "<p align=""left"">", "<p align=""right"">", "<p align=""center"">",  "<p align=""justify"">", "</p>")response.write UBound(vhtm)&"<br><table border=1>"for i=0 to UBound(vtxt)a=CStr(vhtm(i))resultado = replace(valor, LCase(Cstr(vtxt(i))), LCase(CStr(vhtm(i))), 1, 1000,1)response.Write "<tr><td>vhtm("&i&")=<input value="""&LCase(vhtm(i))&"""></td><td> vtxt("&i&")="&LCase(vtxt(i))&"</td></tr>"next'resultado = replace(valor, "[b]", "<b>", 1, 1000,1)response.Write("</table>")response.Write(resultado)%>

 

 

O engraçado é que a linha comentada onde tem o valor de busca e de substituição, funciona, não entendo o porque dos outros não funcionarem. Já tentei tirar as Funções Lcase() e CStr() mas sem sucesso. Já tentei colocar os elementos dos vetores em variaveis para depois buscar e também não. Alguém poderia me explicar o porque disto?

 

Desde já agradeço,

Xandão Grunge cool.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acontece algum erro? Uma coisa que notei, você está usando valores vazios na pesquisa (vtxt), isso normalmente dá erro, complete seu array e teste novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acontece algum erro? Uma coisa que notei, você está usando valores vazios na pesquisa (vtxt), isso normalmente dá erro, complete seu array e teste novamente.

Não estou não. o que ocorre é que utilizo colchetes entre o B, I e o U então o forum aqui presume que estou querendo deixar em negrito, italico e sublinhado.Mas de qualquer forma agradeço a atenção.Outro detalhe é que ele não mostra erro. é muito estranho isso <_< Se alguém souber, de algo por favor poste ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%
Dim vtxt, vhtm, resultado, br, valor
Set fs=Server.CreateObject("Scripting.FileSystemObject")

Set f=fs.OpenTextFile(Server.MapPath("teste.txt"), 1)
valor =f.ReadAll
f.Close

Set f=Nothing
Set fs=Nothing
response.Write(valor)
br=chr(13)&chr(13)
vtxt=array("[b]", "[/b]", "[i]", "[/i]", "[u]", "[/u]", br, "[topico]", "[p=e]", "[p=d]", "[p=c]", "[p=j]", "[/p]")
vhtm =array("<b>", "</b>", "<i>", "</i>", "<u>", "</u>", "<br />", "» ", "<p align=""left"">", "<p align=""right"">", "<p align=""center"">", "<p align=""justify"">", "</p>")
response.write UBound(vhtm)&"<br><table border=1>"
RESULTADO = VALOR
for i=0 to UBound(vtxt)
a=CStr(vhtm(i))
resultado = replace(RESULTADO, LCase(Cstr(vtxt(i))), LCase(CStr(vhtm(i))), 1, 1000,1)
response.Write "<tr><td>vhtm("&i&")=<input value="""&LCase(vhtm(i))&"""></td><td> vtxt("&i&")="&LCase(vtxt(i))&"</td></tr>"
next
'resultado = replace(valor, "[b]", "<b>", 1, 1000,1)
response.Write("</table>")
response.Write(resultado)
%>

Teste com esse código, as alterações que fiz estão em maiusculo.

 

Quando postar códigos aqui no fórum procure usar a TAG CODE daqui do fórum, nela não há interpretação dos BBCodes.

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.