asp - asp.net - aspcode.it

COMMUNITY - Login
 Username:
 
 Password:
 
Voglio registrarmi!
Password dimenticata?
 Utenti on-line: 0
 Ospiti on-line: 1117
ASPCode.it - Store

  > > Articoli

Regular Expression: come ti riconosco il link

Data di pubblicazione: 28/03/2002        Voto della community: 4,00 (Votanti: 1)

Le funzioni seguenti accettano come parametro una stringa di testo e restituiscono in output la stessa stringa con gli eventuali URL e/o Email correttamente linkati. Anziché fare un'unica funzione che elaborasse sia gli URL (http:// o www. o entrambi) che gli indirizzi email, ho optato per 2 funzioni distinte (perché – ad esempio – potrebbe benissimo capitare che siamo interessati a linkare solo gli URL piuttosto che le email o viceversa). D'altra parte, volendo passare al setaccio sia gli URL che le email, basta un'istruzione del genere:

<%
Response.Write(LinkUrl(LinkEmail(stringa)))
%>

Ma ecco le due funzioni:

<%
Function LinkURL(stringa)
  Dim objRegExp, strTemp
  Set objRegExp = New RegExp

  objRegExp.IgnoreCase = True
  objRegExp.Global = True
  objRegExp.Pattern = "(\b(www\.|http\://)\S+\b)"
  strTemp = objRegExp.replace(stringa, "<A HREF='http://$1' TARGET='_new'>$1</A>")
  LinkURL = Replace(strTemp, "http://http://","http://")
  Set objRegExp = Nothing
End Function

Function LinkEmail(stringa)
  Dim objRegExp
  Set objRegExp = New RegExp

  objRegExp.Global = True
  objRegExp.IgnoreCase = True
  objRegExp.Pattern = "(\b[a-z._-]+@\S+\.[a-z]{2,3}\b)"
  LinkEmail = objRegExp.replace(stringa, "<A HREF='mailto:$1' TARGET='_new'>$1</A>")
  Set objRegExp = Nothing
End Function
%>

Potete testare le 2 funzioni precedenti direttamente online, semplicemente ciccando qui.

Alla prossima!




Utenti connessi: 1117