Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di abellos
    Registrato dal
    Feb 2002
    Messaggi
    431

    Reg exp per sostituzione

    Ciao a tutti,
    avrei bisogno di cercare all'interno di un testo tutti i numeri presenti e sostituirli con lo stesso testo ma tra tag <a> </a> cosi da realizzare un collegamento, io ho usato questo codice ma presenta un problema:

    codice:
    <%
    Set regEx = New RegExp
        regEx.Pattern = "\d+"
     'regEx.Pattern = "[0-9]+"
        regEx.IgnoreCase = True
        regEx.Global = True
        regEx.MultiLine = True
     ReplacementText = "#"
        'note = regEx.Replace(RSstmp("nota"), ReplacementText)
        note = RSstmp("nota")
     Set colMatch = regEx.Execute(note)
     
     For each objMatch  in colMatch
      Response.Write objMatch.Value & "<br />"
      note = replace(note,objMatch.Value,"<a class='scatole' href=''>"& objMatch.Value &"</a>")
     Next
     Set regEx = Nothing
     
     response.write note
    %>
    dato che il mio testo potrebbe contenere sia date che dei numeri di scatole tipo 1002365, 2000356 mi ritrovo con una sostituzione errata come questa:

    codice:
    documenti del <aclass='scatole'href=''><aclass='scatole'href=''>10</a></a>/<aclass='scatole'href=''><aclass='scatole'href=''>10</a></a>/<aclass='scatole'href=''>2014</a> nelle scatole <aclass='scatole'href=''><aclass='scatole'href=''>10</a></a>02536 e <aclass='scatole'href=''>2000356</a>
    che io vorrei fosse:
    codice:
    documenti del 
    <aclass='scatole'href=''>10</a>/<aclass='scatole'href=''>10</a>/<aclass='scatole'href=''>2014</a> nelle scatole <aclass='scatole'href=''>1002536</a> e <aclass='scatole'href=''>2000356</a>
    ho capito che il problema e' nella sostituzione quando ci sono numeri uguali come nell'esempio il 10, avete qualche suggerimento?
    Da un grande potere derivano grandi responsabilità

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    il pattern mettilo tra parentesi così puoi sfruttare i submatches
    codice:
    regEx.Pattern = "(\d+)"
    e poi usa il replace dell'oggetto RegExp
    codice:
    note=regEx.Replace(note,"<a class='scatole' href=''>$1</a>")

  3. #3
    Utente di HTML.it L'avatar di abellos
    Registrato dal
    Feb 2002
    Messaggi
    431
    Funziona alla grande, grazie!
    Da un grande potere derivano grandi responsabilità

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.