Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684

    Rendere testo compatibile XHTML con Regular Expression

    Sto creando una funzione che mi permette di trovare determinati caratteri e sostituirli con altri compatibili con il doctype dell'XHTML.

    Alcuni browser, i più recenti, visualizzano i caratteri "à è ì ò ù" con simboli strani.
    Vorrei tramite RegExp sostituire tutte le occasioni con caratteri "&agrave" "&egrave" ecc..

    Per questo ho pensato di realizzare una funzione con le regular expression.
    Anticipo che è la prima volta che mi imbatto in questa funzione.

    ecco una prima versione del codice:
    codice:
    Function sostituisciCaratteri(testo)
    	DIM regEx
    	Set RegEx = New RegExp
    	RegEx.Pattern = "*"
    	RegEx.Global = True
    
    	sostistuisciCaratteri = RegEx.Replace(testo, *)
    	Set RegEx = Nothing
    End Function
    Ovviamente l'asterisco indica il punto interrogativo dove andare a creare la classe e la sostituzione per la corretta visualizzazione.

    Ho scaricato un po di materiale sulle regExp e vi chiedo un po di aiuto per iniziare.

    Grazie

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Hai provato ad usare la server.htmlencode(stringa)?

    Roby

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    SI. ma siccome creo la stringa leggendola con l'oggetto FSO e il metodo OpenTextFile, vengono stampati a video tutti i tag di impaginazione presenti nel file (.txt).

    Infatti il file testo, contiene tag come <span></span> ecc..
    e l'htmencode mi stampa a video anche quelli!


    Quindi mi servirebbe una regular Expression che intercetti alcuni caratteri e li sostituisca magari applicandoci il Server.htmlencode

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    Ho creato il PATTERN in questo modo, che ne dici?
    codice:
    ...
    RegEx.Pattern = "(+à)(+è)(+é)(+ì)(+ò)(+ù)"
    ...
    E' la prima volta, ripeto che mi cimento con le regular.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    Ho realizzato questa RegExp, per un solo carattere.
    codice:
    Function sostituisciCaratteri(testo)
    	DIM regEx, occasioni
    	Set RegEx = New RegExp
    	RegEx.Pattern = "[à]"
    	RegEx.Global = True
    	
    	'Set occasioni = regEx.Execute(testo)
    	'sostituisciCaratteri = occasioni.Count
    	sostituisciCaratteri = RegEx.Replace(testo, "&agrave;")
    	Set RegEx = Nothing
    End Function
    Come si vede cerco solo la stringa 'à'.
    Ora vorrei estenderla a: è é ì ò ù
    ma non riesco a creare il pattern per il match.

    Grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    Ho aggiunto l'OR nel PATTERN, ora non mi resta che fare il replace per le singole occasioni 'match' riscontrate.

    Come posso fare?

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 © 2026 vBulletin Solutions, Inc. All rights reserved.