Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 38
  1. #1
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    440

    Funzione per abbreviare i link

    ciao

    mi serve una funzione che mi abbrevia il testo visualizzato in un link....
    tempo fa l'ho vista che veniva usata per i forum... quindi se metto un link del genere

    fdsfsdffffffffffffffffffffffffffffffsdfsdddddddddd ddddddddddddddddddd fsddddddddddddddd </p>


    mi dovrebbe lasciare intatto l'url e accorciare il testo cosi

    fdsfsdfffffffffffff....

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao pazzo2,

    praticamente tu hai uno stringone che contiene html e vuoi modificare tutti i link che superano una certa lunghezza.
    Per queste cose l'ideale è usare delle regular expressions
    Ti faccio un esempio semplice
    codice:
    Function AccorciaLink(strHTML,lunghezzamassima)
      set re = Server.CreateObject("VBScript.RegExp")
      re.Global=true
      re.IgnoreCase=true
      re.Multiline=true
      re.Pattern="(<a[^>]*?>)([^<]{"&lunghezzamassima&"})([^<]+)(<\/a>)"
      AccorciaLink = re.Replace(txt,"$1$2...$4")
    End Function
    
    txt = "
    
    http://fdsfsdfffffffffffffffffffffff...dddddddddddddd</p>kghlkhlkjhglglg e poi Ciao
    " & vbCrLf
    txt = txt & "altra riga altro link questo link è lungo lungo lungo lungoooooooo
    E basta"
    txt2 = AccorciaLink(txt,15)
    Response.Write txt & "<hr>" & txt2
    questo fa quello che ti serve solo se tra <a> e </a> c'è solo testo
    Se ci fossero dei tag in mezzo non funzionerebbe

  3. #3
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    440
    Ok vediamo se sei ancor più bravo...

    E una regular expressions per convertire testo in link? cioè se scrivo www.pippo.it in una form dovrebbero convertirlo in link

  4. #4
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    codice:
    Function LinkUrl(stringa)
      temp=""
      Set re = Server.CreateObject("VBScript.RegExp")
      re.Pattern = "((http://[^ \s<]+)|(www\.[^ \s<]+))"
      re.Multiline = true
      re.Global = true
      re.IgnoreCase = true
      temp = re.Replace(stringa,"$1")
      temp = Replace(temp,"href=""www","href=""http://www")
      LinkUrl = temp
    End Function
    prova = "questa è una prova. www.google.it" & vbCrLf & " e http://www.altavista.it sono motori di ricerca"
    Response.Write prova & "
    "
    Response.Write LinkUrl(Replace(prova,vbCrLf,"
    "))
    sono ancor più bravo?







    (p.s. questa l'avevo già fatta tempo fa)

  5. #5
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    440
    auuaua secondo me hai scopiazzato su qualche forum già fatto ehehe cmq grazie lo stesso

    GRANDE! ti devo un caffè!

  6. #6
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Originariamente inviato da pazzo2
    auuaua secondo me hai scopiazzato su qualche forum già fatto ehehe
    no... se vuoi ti spiego i pattern

  7. #7
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    440
    Allora
    la prima l'ho corretta perchè non funzionava

    Ho provato quella per accorciare i Link ma non funziona...non accorcia...

    mentre la prima funziona bene solo che non rileva, se nel testo c'è già un link...se c'è succede un casino

  8. #8
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Originariamente inviato da pazzo2
    Allora
    la prima l'ho corretta perchè non funzionava

    Ho provato quella per accorciare i Link ma non funziona...non accorcia...

    mentre la prima funziona bene solo che non rileva, se nel testo c'è già un link...se c'è succede un casino
    Allora
    per la prima come le altre non devi fare copia e incolla dal forum perché quello che vedi non è quello che ho scritto. Devi quotare il mio messaggio e prendere il codice dalla textarea.

    Quella per accorciare i link è sempre la prima e vale il discorso che ho appena fatto

    quella per mettere il tag <a> nelle stringhe che rappresentano un indirizzo non deve essere usata in un testo che ha già dei tag <a>

  9. #9
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Originariamente inviato da willybit
    quella per mettere il tag <a> nelle stringhe che rappresentano un indirizzo non deve essere usata in un testo che ha già dei tag <a>
    ok... facciamola andare anche su testi che contengono già il tag <a>
    codice:
    Function LinkUrl2(stringa)
      temp=""
      Set re = new RegExp
      re.Multiline = true
      re.Global = true
      re.IgnoreCase = true
      re.Pattern = "<a.*?<\/a>"
      set ris = re.Execute(stringa)
      temp = stringa
      irripetibile = "$$$###@@@"
      For Each rr in ris
        temp = Replace(temp, rr.value, irripetibile & rr.FirstIndex)
      Next
      re.Pattern = "((http://[^ \s<]+)|(www\.[^ \s<]+))"
      temp = re.Replace(temp,"$1")
      temp = Replace(temp,"href=""www","href=""http://www")
      For Each rr in ris  
        temp = Replace(temp, irripetibile & rr.FirstIndex, rr.value)
      Next
      LinkUrl2 = temp
    End Function

  10. #10
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    440
    behh che dire... non un caffè

    un cappucino e cornetto...va bene???? grazie compare!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.