Visualizzazione dei risultati da 1 a 5 su 5

Discussione: regexp e replace

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    167

    regexp e replace

    Mettiamo che volessi effettuare un replace su una stringa, mediante l'utilizzo di una regular expression.

    Nell'esempio in questione, l'embed di un video su youtube.

    Come potrei arrivare da un testo del tipo

    codice:
    Testo testo testo testo molto testo !youtube=Rn9rMba8jnM altro testo,
    sempre testo in quantità variabile...
    ad ottenere solo il valore Rn9rMba8jnM?


    Mediante una piccola funzione di questo tipo:

    codice:
    dim regex
    set regex = new regexp
    regex.pattern = "[!youtube=]+[A-Z0-9]{11}"
    regex.global = true
    regex.ignorecase = true
    
    testo = regex.replace(testo,"")
    riesco a sostituire tutto il !youtube=Rn9rMba8jnM ma non ad ottenere solo il valore che mi interessa per poi generare il codice completo per l'embed del video.


    l'obiettivo è quello di inserire, tramite form, solamente la stringa !youtube=CODICEVIDEO al posto di tutto il codice dell'embed.

    un po' come avviene nei forum quando nel momento di inserire un messaggio, al posto di scrivere i tag interi si utilizzano i prompt per l'inserimento dei dati

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    In pratica ti serve recuperare solo CODICEVIDEO?
    usa la InstrRev()

    Roby

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    167
    in pratica dovrei fare una ricerca all'interno di un testo inoltrato da una form, fino a trovare una stringa del tipo !youtube=CODICEVIDEO, dove CODICEVIDEO è composto da 11 caratteri alfanumerici sempre variabili.

    Una volta trovata ogni corrispondenza dovrei eliminare (con un replace) la parte !youtube= della stringa, in modo da salvare in una variabile solamente il CODICEVIDEO.

    il mio problema è riuscire ad isolare la stringa !youtube=CODICEVIDEO all'interno del testo.

    come potrei utilizzare InstrRev()?

    Così:

    codice:
    regex.pattern = "[!youtube=]+[A-Z0-9]{11}"
    regex.global = true
    regex.ignorecase = true
    posizione = instrrev(testo,regex.pattern)
    la sintassi è errata

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Non ho capito...
    Tu questo, al momento, lo riesci ad ottenere?
    !youtube=Rn9rMba8jnM

    Se si allora usa su quella la InstrRev partendo dall'ultimo carattere fino a = oppure la RIGHT() visto che sai che il codice è di 11 caratteri.

    Roby

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    167
    alla fine ho optato per un approccio totalmente diverso, visto che il codice del video è 11 caratteri ma domani potrebbe cambiare...


    ho realizzato una piccola funzione javascript che, attraverso un prompt richiede in input il codice del video e poi scrive all'interno della textarea del form il codice completo.

    se interessa lo posto ma la sezione non mi sembra adatta

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.