• User Attivo

    espressioni regolari...va in errore!!

    ciao ragazzi,
    sto usando questo codice:

    <%
    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
    %>

    per far creare il link mailto o www. all'interno di un array che pesca da un db, però quando lo lancio applicato all'array mi da come errore incompatibilità di tipo, cosa può essere? come posso risolverlo premesso che non posso rinunciare all'array? grazie a tutti!

    Marco


  • Moderatore

    Ciao,
    Le due funzioni sembrano ok ma non vedo il codice che gestisce l'array di cui parli, se sicuro che l'array contiene stringhe? sei sicuro che i valori dell'array sono tutti diversi da null?
    :ciauz:


  • User Attivo

    ciao, grazie per la risp!
    l'array purtroppo può contenere sia valori null che valori non stringe...come posso fare?
    grazie!

    Marco


  • Moderatore

    basta una semplice if, esempio:

    
      if IsNotNull(my_array(c)) Then
         ....uso le regex...
      else
         ....imposto i valori di default per stringhe vuote...
      end if
    
    

    oppure:

    
      if Len(trim(my_array(c))) > 0 Then
         ....uso le regex...
      else
         ....imposto i valori di default per stringhe vuote...
      end if
    
    

  • User Attivo

    funziona!!!
    mi hai salvato!
    grazie,

    Marco