Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    RegExp per replace dentro <img .... >

    Domanda veloce, ma non mi sovviene la soluzione.

    Devo fare un "replace" di un testo html per validazione w3c.
    Cioè con le RegExp dovrei sostituire tutti s solo gli attributi align=absmiddle del un tag <img ...> con l'attributo align=middle.

    Come fare con le RegExp?

    Ringrazio sin da ora i volontati.
    Scusatemi in anticipo per gli ORRORI di ortografica, ma sono analfabeta
    Electronic parts catalog
    Gestione cataloghi ricambio IPC
    Documentazione tecnica & manuali

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ma non ti è sufficiente la replace?

    Roby

  3. #3
    Originariamente inviato da Roby_72
    Ma non ti è sufficiente la replace?

    Roby

    Il problema è che se è quel testo protrebbe non essere solo nal tag <img ...> ma anche antrole nel testo della pagina.
    Quindi da qui l'esigenza di "scandagliare" il tag img.
    Scusatemi in anticipo per gli ORRORI di ortografica, ma sono analfabeta
    Electronic parts catalog
    Gestione cataloghi ricambio IPC
    Documentazione tecnica & manuali

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

    vi faccio una funzioncina per modificare il valore di un attributo di un determinato tag da un valore ad un altro
    codice:
    Function CambiaAttributo(html,tag,attributo,valoreVecchio,valoreNuovo)
      set re = Server.CreateObject("VBScript.RegExp")
       re.Pattern="(<" & tag &" [^\n\r\v>]*" & attributo & "=)(?:""(" & valoreVecchio & ")""|'(" & valoreVecchio & ")'|(" & valoreVecchio & "))([^\n\r\v>]*?>)"
      re.IgnoreCase=true
      re.Multiline=true
      re.Global=true
      CambiaAttributo = re.Replace(html,"$1" & valoreNuovo & "$5")
    End Function
    da usare così
    codice:
    str = "ciao
    [img][/img]<font size=5 align=""center"">questa è una prova
    
    jfhjfkhjgf</p></font>[img][/img]... bye bye Willy"
    str2 = CambiaAttributo(str,"img","align","absmiddle","center")
    Response.Write Server.HTMLEncode(str) & "<hr>" & Server.HTMLEncode(str2)
    se servono spiegazioni chiedete pure

  5. #5
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    azz... mi dispiace che a te non funzioni... ma sei sicuro di aver copiato il codice giusto? Non fare copia e incolla direttamente dal post. Quota questo messaggio e prendi il codice dalla textarea
    codice:
    <%
    Function CambiaAttributo(html,tag,attributo,valoreVecchio,valoreNuovo)
      set re = Server.CreateObject("VBScript.RegExp")
       re.Pattern="(<" & tag &" [^\n\r\v>]*" & attributo & "=)(?:""(" & valoreVecchio & ")""|'(" & valoreVecchio & ")'|(" & valoreVecchio & "))([^\n\r\v>]*?>)"
      re.IgnoreCase=true
      re.Multiline=true
      re.Global=true
      CambiaAttributo = re.Replace(html,"$1" & valoreNuovo & "$5")
    End Function
    str = "ciao
    [img][/img]<font size=5 align=""center"">questa è una prova
    
    jfhjfkhjgf</p></font>[img][/img]... bye bye Willy"
    str2 = CambiaAttributo(str,"img","align","absmiddle","center")
    Response.Write Server.HTMLEncode(str) & "<hr>" & Server.HTMLEncode(str2)
    %>
    famme sape'

  6. #6
    Appeno ho un briciolo di tempo le testo e ti faccio sapere per questa e anche per l'altra ( http://forum.html.it/forum/showthrea...hreadid=930027 )
    Scusatemi in anticipo per gli ORRORI di ortografica, ma sono analfabeta
    Electronic parts catalog
    Gestione cataloghi ricambio IPC
    Documentazione tecnica & manuali

  7. #7
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Originariamente inviato da ruggeria
    non capisco io sto facendo il copia e incolla del tuo esempio pari pari.. perche' non dovrebbe funzionare?
    te l'ho detto prima... devi QUOTARE IL MIO POST e prendere il codice dalla textarea per averlo come l'ho scritto io
    il forum in visualizzazione cambia un po' di cose... in una regular expression uno spazio in più cambia tutto

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.