Ir para conteúdo

Arquivado

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

Luizgrs

Tranformar enredeço em links

Recommended Posts

<!--asp1--><div class='asptop'>ASP</div><div class='aspmain'><!--easp1--><link href = "style_images/css_asp.css" rel = "stylesheet" type = "text/css">

[*]<font color="8E7144">Function</font> <font color="#979700">faz_links</font>(texto)

[*]<font color="8E7144">If</font> <font color="#979700">Right</font>(texto, 1) <> <font color="red"><font color="red"><font color="red">" "</font></font></font> <font color="8E7144">Then</font>

[*]<font color="#269900">texto</font> = texto & <font color="red"><font color="red"><font color="red">" "</font></font></font>

[*]<font color="8E7144">End</font> <font color="8E7144">If</font>

[*]<font color="#269900">x</font> = 1

[*]While Not <font color="#979700">InStr</font>(x, texto, <font color="red"><font color="red">"http://"</font></font>) < 1

[*]<font color="#269900">pos_ini</font> = <font color="#979700">InStr</font>(x, texto, <font color="red"><font color="red">"http://"</font></font>)

[*]<font color="#269900">y</font> = <font color="#979700">InStr</font>(pos_ini, texto, <font color="red"><font color="red"><font color="red">" "</font></font></font>)

[*]<font color="#269900">pos_fin</font> = y - 1

[*]<font color="#269900">antes</font> = <font color="#979700">Mid</font>(texto, 1, pos_ini - 1)

[*]<font color="#269900">depois</font> = <font color="#979700">Mid</font>(texto, pos_fin + 1, <font color="#979700">Len</font>(texto))

[*]<font color="#269900">link_src</font> = <font color="#979700">Mid</font>(texto, pos_ini, pos_fin - (pos_ini - 1))

[*]<font color="#269900">link_src</font> = <font color="red">"<a href="""</font> & link_src & <font color="red">""" target=""_blank"">"</font> & link_src & <font color="red">"</a>"</font>

[*]<font color="#269900">texto</font> = antes & link_src & depois

[*]<font color="#269900">x</font> = <font color="#979700">InStr</font>(x, texto, link_src) + <font color="#979700">Len</font>(link_src)

[*]<font color="#269900">link_src</font> = <font color="red">""</font>

[*]W<font color="8E7144">end</font>

[*]<font color="#269900">faz_links</font> = texto

[*]<font color="8E7144">End</font> <font color="8E7144">Function</font>

<!--asp2--></div><!--easp2-->

A função pega um texto qualquer e procura por todos os endereços http://... que tiver nele e transforma em links (<a>).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acrescentando:

verificando URL com expressão recular

Function LinkURL(stringa)Dim objRegExp, strTempSet objRegExp = New RegExpobjRegExp.IgnoreCase = TrueobjRegExp.Global = TrueobjRegExp.Pattern = "(\b(www\.|http\://)\S+\b)"strTemp = objRegExp.replace(stringa, "<A HREF='http://$1'class='orangelnk' TARGET='_new'>$1</A>")LinkURL = Replace(strTemp, "[url="http://http://"]http://http://","http://[/url]")Set objRegExp = NothingEnd Function
o codigo abaixo é de minha autoria(dá pra melhorar) e faz a busca em todo o texto e não apenas em uma string

<%Function criaLink(strVar)'autor: Jonathan R. Cardozo (jonathandj)'data: 27/05/2007'finalidade: criar links de forma dinâmicaarr = split(strVar," ")for i = 0 to uBound(arr)  strAux = trim(arr(i))  pos = lCase(inStr(arr(i),"www."))   if pos <> 0 then   strTxt = mid(strAux,pos,len(strAux))   pos = inStr(strTxt,"/")   if pos > 0 then	strTexto = mid(strTxt,1,pos-1)   else	strTexto = strTxt   end if      strAux = replace(strAux,"..","")   strAux = replace(strAux,"??","")   strAux = replace(strAux,"!!","")   strAux = replace(strAux,",,","")   strAux = replace(strAux,"--","")      arr2 = split(". , - / \; ? ! @ % #"," ")   char = right(strAux,1)      for j = 0 to uBound(arr2)	if arr2(j) = char then	 strAux = left(strAux,len(strAux)-1)	end if   next    pos = inStr(strAux,"www")    strAux = mid(strAux,pos,len(strAux))      strTxt = "<a href=""http://"&lCase(strAux)&""" target=""_blank"">"&strTexto&"</a>"  else   strTxt = strAux  end if    saida = trim(" "&saida&" "& strTxt)nextcriaLink = saidaEnd FunctionmeuTexto = "Url de teste para gerar o link é: http://www.site.com/pasta/teste.asp.."Response.Write(criaLink(meuTexto))%>
bom proveito e sempre mantenham os creditos do autor quando explicito em qualquer código

 

abraços

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.