• User

    [ASP] Regex chiudi tag

    Salve ragazzi,
    sto cercando una funzione in ASP che mi dia la possibilità di chiudere i tag html "aperti" contenuti all'interno di una stringa ... siccome le regex non sono proprio il mio forte qualcuno ha qualche dritta in merito alla sintassi che sto cercando di fare?

    Grazie in anticipo


  • Community Manager

    Uppo per te descend, vediamo se qualcuno conosce qualcosa 🙂


  • Moderatore

    Ciao, puoi provare con questo script che però non usa le regex.

    Ciao
    :ciauz:


  • User Attivo

    Non l'avevo visto sto post...
    Ad ogni modo, il problema è "dove vuoi che venga chiuso il tag?"
    Perchè tu puoi avere un tag aperto e non chiuso però non possiamo sapere dove deve essere chiuso.
    Immagino che se trovi un tag aperto intendi chiuderlo subito dopo per evitare che interferisca col resto del testo?
    Es.

    [html] <strong></strong>testovario...[/html]Lo script suggerito da legolas chiude il tag alla fine di tutto quindi, all'inizio di un testo, se apri un tag strong e non lo chiudi, ti verrà in grassetto il testo dall'inizio alla fine.
    Lo script fa il suo dovere ma forse si può fare di meglio con le regexp in poche righe.
    Forse sarebbe proprio meglio eliminare i tag aperti orfani perchè, come gia detto, è impossibile sapere dove vuoi chiuderli.
    Sarò io che non ci arrivo a quest'ora ma, se mi spieghi meglio, vediamo di fare sta espressione. Non dovrebbe essere difficile.
    Ciao!


  • Moderatore

    iniziamo con:

    
    '<[^>]*$' 
    
    

    Poi, per ciascun TAG HTML che vogliamo monitorare, ad esempio <font>:

    
    '<font\b[^>]*>(.*?)</font>'
    
    

    :ciauz:


  • Moderatore

    Come ti ha fatto vedere Paocavo puoi benissimo chiudere i tag, il problema più grande come ha detto FuSioNmAn è sapere dove li vuoi chiudere.

    Dacci qualche info in più e vediamo che si può fare

    :ciauz:


  • User

    @Legolas said:

    Come ti ha fatto vedere Paocavo puoi benissimo chiudere i tag, il problema più grande come ha detto FuSioNmAn è sapere dove li vuoi chiudere.

    Dacci qualche info in più e vediamo che si può fare

    :ciauz:

    Beh provo a spiegarmi un pò meglio:
    Sto cercando di dividere un testo molto lungo all'atto dell'inserimento nel mio database utilizzando un marcatore del tipo "<!-- FINE PAGINA -->" che poi vado a splittare quando leggo il dato in questo modo

    testo = Split(miastringa, "<!-- FINE PAGINA -->")
    

    I miei problemi, nello specifico sono i seguenti:

    • Innanzitutto chiudere tutti i tag html che restano aperti nella porzione di pagina che viene visualizzata in quanto la loro chiusura è successiva al marcatore (aprirli in caso contrario)
    • Vorrei fare in modo che prima dell'upload nel db il testo venisse diviso ogni X caratteri generando una stringa del tipo "miotestmiotesto<!-- FINE PAGINA -->miotestmiotesto" da memorizzare successivamente nel campo.
    • Vorrei evitare di troncare le parole e soprattutto vorrei evitare che il marcatore venisse piazzato nel bel mezzo di eventuali tag HTML presenti nel testo (del tipo <b> - <i> -<img> <a> - ecc ecc).Cerco ormai una soluzione da un pò ma con scarsi risultati.
      Intanto grazie a tutti per i consigli!