Ir para conteúdo

POWERED BY:

Arquivado

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

Elbrinner

Replace

Recommended Posts

Estou tentando fazer um link da seguinte formaprimeiro eu pego o a url mais o nome do link e depois eu coloco assim:[a href=http://www.link.com]texto do link[/a]depois uso uma funcao para troca o [ por <Function html(s_string) html = Replace(html, "[", "<") html = Replace(html, "[/a]", "</a>")End Functionpara usa a funcao eu uso html(campo)mais o resultado sai sempre vacioo que pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites
Function html(s_string) html = Replace(html, "[", "<")html = Replace(html, ">", "]")html = Replace(html, "[/a]", "</a>")End Function

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim não rolaFunction html(s_string) html = Replace(html, "[", "<")html = Replace(html, "[/a]", "</a>")End Functionpois no primeiro replace ele muda a segunda tag tambémimagina isso[a href=http://www.link.com]texto do link[/a]depois do primeiro replace vem assim<a href="http://www.link.com"]texto do link</a]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nem tinha reparado, olhei rapidamente o código.

 

ASP [/tr][tr]Function html(s_string)

s_string = Replace(s_string, "[", "<")

s_string = Replace(s_string, ]", ">")

html = s_string

End Function

[/tr]

 

Só que aqui tem um problema. Se o cara utilizar [ (colchetes) no texto, ele vai ser substituído.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só que aqui tem um problema. Se o cara utilizar [ (colchetes) no texto, ele vai ser substituído.

isso tambem é um problema...deveria ser feito de modo a determinar antes o endereço e substituir tudo de uma vez tipo assim[a href="http://www.link.com"]texto do link[/a]determinar onde termina o href e onde esta o colchete que fecha ai substitue duma vez

Compartilhar este post


Link para o post
Compartilhar em outros sites

Function html(s_string)s_string = Replace(s_string, "[a", "<a")s_string = Replace(s_string, "/a]", "/a>")s_string = Replace(s_string, chr(34) & "]", chr(34) & ">")html = s_stringEnd Functionisso pode resolver alguns problemas, mas ainda não é 100%... hehehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso aqui ta meio "pirento" mas acho que tinha que ser algo como

 

[tr][/tr][tr][/tr]
ASP

Inicio = 1

 

WHILE Inicio > 0

Inicio = INSTR(Inicio,Visualiza,"Meio%20=%20INSTR(Inicio+5,Visualiza," target="_blank">",1)

Final = INSTR(Meio+1,Visualiza,"",1)

Conteudo = ""

Conteudo2 = ""

IF Inicio > 0 AND Meio > 0 AND Final > 0 THEN

Conteudo = MID(Visualiza,Inicio+5,Meio-Inicio-5)

Conteudo2 = MID(Visualiza,Meio+1,Final-Meio-1)

IF UCASE(LEFT(Conteudo,7)) = "HTTP://" THEN

Visualiza = REPLACE(Visualiza,"" target="_blank">" & Conteudo2 & "","<a href='" & Conteudo & "' target='_blank'>" & Conteudo2 & "</a>",1,-1,1)

END IF

Inicio = Final

ELSE

Inicio = -1

END IF

WEND

 

ia ficar meio parecido com este forum aqui, mas isso foi feito rapido ainda vou pensar em melhorias...

 

//Editado

 

funciona pra forma [ URL = http://seusite.com.br ] NOME DO SITE [ / URL ] igual a usada aqui, ignorem os espaços, pois os coloquei so pra não substituir, conforme o objetivo

Compartilhar este post


Link para o post
Compartilhar em outros sites

A algum tempo iniciei uma "reescrita" do BBCode e usei dessa forma para a TAG

'************%20Tratamento%20das%20Tags%20%5bURL%5d%20***********************

If%20InStr(1,conteudo,"%5bURL=",1)%20>%200%20AND%20InStr(1,conteudo,"" target="_blank">

ASP '************ Tratamento das Tags If%20InStr(1,conteudo,"

",1)%20>%200%20Then

Do%20While%20InStr(1,conteudo,"%5bURL=",1)%20>%200%20OR%20InStr(1,conteudo,"%5b/URL%5d",1)%20>%200

Inicio_URL%20=%20InStr(1,conteudo,"%5bURL=",1)

Fim_URL%20=%20InStr(1,conteudo,"%5b/URL%5d",1)%20+%206

If%20Not%20InStr(1,conteudo," target="_blank">",1) - Inicio_URL > 6 Then Exit Do End If

If Not Fim_URL - InStr(1,conteudo,"]",1) > 1 Then Exit Do End If

If Fim_URL < Inicio_URL Then Exit Do End If

Num_Caracteres = Fim_URL - Inicio_URL

Var_URL = Mid(conteudo, Inicio_URL, Num_Caracteres)

Var_URL_Original = Var_URL

If InStr(1,Var_URL,"http://",1) >= 6 Then

Var_URL = Replace(Var_URL,"[url=, "<a href=",1,-1,1)

Else

Var_URL = Replace(Var_URL,"[url=", "<a href=Http://",1,-1,1)

End If

Var_URL = Replace(Var_URL,"", "</a>",1,-1,1)

Var_URL = Replace(Var_URL,]", ">",1,-1,1)

conteudo = Replace(conteudo, Var_URL_Original, Var_URL,1,-1,1)

Loop

End IF

'**************************************************************

Mas recebi informação que usando Regular Expressions seria bem melhor e mais rápida a criação, vou catar por aqui como ficaria essa Tag usando REGEXP.

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.