Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Lucas1
    Registrato dal
    Mar 2005
    Messaggi
    100

    Espressione regolare con Javascript

    Ciao a tutti.

    Sto cercado di costruire un parser di testo in tempo reale. Essendo abiutato con PHP mi trovvo assai in difficoltà con Javascript. Questa la situazione:

    Io ho l'espressione: @\[(?i)gallery\](.*?)\[/(?i)gallery\]@si';
    che deve trasformare il testo passatogli in: [img]\\1[/img]';

    Per il momento sono arrivato a qualcosa di semplicissimo:

    codice:
    var text='aaa';
    
    function newText( text){   
    
        var regex=/a/g;
        var replaceWith='b';
        return text.replace(regex,replaceWith);
    }
    
    document.write( newText( text)); //Stampa BBB
    Come faccio ora ad inserire in "regex" l'espressione regolare e in "replacewidth" il testo suddetto? Ho provato ma la struttura classica non funziona.

    Help! Grazie 1000!

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    return text.replace(/\[(?=)gallery\](.*?)\[\/(?=)gallery\]/gi,"<a href=\"$1\"><img src=\"$1\" /></a>");

    passando
    var text='[gallery]http://www.sito.com[/gallery]';
    ottieni

    se e' quello che volevi

    ciao

  3. #3
    Utente di HTML.it L'avatar di Lucas1
    Registrato dal
    Mar 2005
    Messaggi
    100
    grazie mille!

    erano giorni che cercavo di capire il sistema e cercavo aiuto in forum americani, torno al buon vecchio html.it. taaac.

    ancora una domandina. in sostanza ciò che sto cercando di scrivere è un parser "on the fly" di messaggi, implementando più avanti jquery per farlo al volo, se ci riuscirò (mannaggia a me quando m'è venuta l'ida). Ora la mia funzione è:

    <script type="text/javascript">
    function newText( text){

    var regex=/\[(?=)gallery\](.*?)\[\/(?=)gallery\]/gi;
    var replaceWith="<a href=\"$1\"><img src=\"$1\" /></a>";

    return text.replace(regex,replaceWith);
    }

    document.write( newText( text));
    </script>


    La cosa che non capisco è, se io la chiamo subito dopo con un link

    test

    (il trattino sulla parola javascript è messo automaticamente da html.it) per quale ragione mi apre una nuova pagina invece che applicare il cambiamento in quella che sto usando?...

    Grazie di nuovo!

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    cosi' facendo il risultato della funzione (return) viene usato come href del link
    sicuramente non e' quello che vuoi

    intanto usa
    <a href="#" onclick="tuaFunzione();return false">

    poi chiarisci su cosa vuoi usarlo:
    se per esempio fosse il contenuto di un div, senza cambiare la funzione newText,
    questa potrebbe venir richiamata cosi'

    onclick="document.getElementById('idDiv').innerHTM L=newText(document.getElementById('idDiv').innerHT ML); return false"

    ciao

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.