Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: replace insensitive

  1. #1
    Utente di HTML.it L'avatar di KLINKO
    Registrato dal
    Sep 2002
    Messaggi
    285

    replace insensitive

    devo fare un semplice REPLACE ma insensitive

    come si fa con asp?

    Replace(strCONTENUTO,strPAROLAVECCHIA,strPAROLANUO VA)

  2. #2
    cosa intendi per insensitive ???

    Se intendi non sensibile a maiuscole/minuscole fai così :

    Replace(UCase(strCONTENUTO),UCase(strPAROLAVECCHIA ),UCase(strPAROLANUOVA))

  3. #3
    Utente di HTML.it L'avatar di KLINKO
    Registrato dal
    Sep 2002
    Messaggi
    285
    si indendo quello, cosi facendo non rimane tutto maiuscolo?

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

    usa il replace delle regular expressions
    ti faccio un esempio
    codice:
    set re = Server.CreateObject("VBScript.RegExp")
    re.Pattern = "ciao"
    re.Global=true
    re.IgnoreCase=true
    re.MultiLine=true
    
    stringa = "Ciao ciao questa stringa ti saluta con cIaO"
    Response.Write re.Replace(stringa,"buongiorno")

  5. #5
    Utente di HTML.it L'avatar di KLINKO
    Registrato dal
    Sep 2002
    Messaggi
    285
    sono riuscito a costruire la funzione

    solo che interviene oltre misura.. cioè sostituisce anche occorrenze dentro altri termini
    ad esempio per la parola casa mi sostituisce anche le altre parole che contengono casa

    casa

    casale

    casaletto

  6. #6
    prova a mettere nel pattern gli spazi chissà se funge

  7. #7
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    più che gli spazi esiste lo "inizio o fine parola" che è \b
    codice:
    set re = Server.CreateObject("VBScript.RegExp")
    re.Pattern = "\bciao\b"
    re.Global=true
    re.IgnoreCase=true
    re.MultiLine=true
    
    stringa = "Ciao ciao questa stringa ti saluta con cIaO. ciaociao non lo cambia"
    Response.Write re.Replace(stringa,"buongiorno")

  8. #8
    mi deciderò mai un giorno a studiare queste dannate regexp? beh con willybit il futuro è piu roseo


  9. #9
    Utente di HTML.it L'avatar di KLINKO
    Registrato dal
    Sep 2002
    Messaggi
    285
    Parola = RsHiperLink("key")
    LinkR = RsHiperLink("LinkPagina")

    Set re = Server.CreateObject("VBScript.RegExp")
    re.Pattern = "\b" & Parola & "\b"
    re.Global=true
    re.IgnoreCase=true
    re.MultiLine=true

    strContenuto = re.Replace(strContenuto,"" & Parola & "")


    prendo il termine da un recordset solo che cosi mi trova anche occorrenze in situazioni tipo

    stringa= "Ciao ciao questa stringa ti saluta con cIaO. ciaociao non lo cambia"
    Response.Write re.Replace(stringa,"buongiorno")

  10. #10
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    quindi bisogna fare il replace delle occorrenze che si trovano solo fuori dai tag?
    codice:
    Function ReplaceTestoHTML(html,trova,sostituisci)
    	set re = new RegExp
    	re.Pattern = "((^|>)[^<>]*?)(\b" & trova & "\b)"
    	re.Global=true
    	re.Multiline=true
    	re.IgnoreCase=true
    	html2 = html
    	do while re.Test(html2)
    		html2 = re.Replace(html2,"$1#§#")
    	loop
    	html2 = Replace(html2,"#§#",sostituisci)
    	ReplaceTestoHTML = html2
    End Function
    
    
    stringa= "Ciao ciao questa stringa ti saluta con cIaO. ciaociao non lo cambia</a>"
    Response.Write stringa & "<hr>" & vbCrLf & ReplaceTestoHTML(stringa,"ciao","buongiorno")

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.