Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957

    [RegExp] Parantesi annidate

    Ciao a tutti,
    è possibile con una regexp sostituire il testo di una funzione...
    as esempio:

    var=funzione(contenuto);
    in ->
    var=contenuto;

    però, se fosse possibile, vorrei che eventuali parentesi annidate dentro fossero mantenute:

    var=funzione(contenuto1+(contenuto2*(contenuto3)+conte nuto4)-contenuto5);
    in ->
    var=contenuto1+(contenuto2*(contenuto3)+contenuto4)-contenuto5;

    Grazie

  2. #2
    Ciao,
    la stringa si trova in un testo più esteso?
    cmq se c'è sempre il punto e virgola alla fine credo basti una cosa del genere:

    Codice PHP:
    $string=preg_replace('/var=funzione\\(([^;]+)\\);/','var=$1;',$string); 
    dA .. foto di viaggio
    L'esperienza è il tipo di insegnante più difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957
    mmh, ma così non va se NON ho parentesi oppure se ne ho più di una, o sbaglio?
    Es:

    var=funzione(((aMario!)));
    dovrebbe darmi
    var=((aMario!));

  4. #4
    Questa regex funziona nel momento in cui c'è almeno una coppia di parentesi. Comunque provala, sai tu quali sono i casi validi o non validi.
    dA .. foto di viaggio
    L'esperienza è il tipo di insegnante più difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957
    mi dispiace ma non mi va bene perchè io a priori non so quante parantesi ci sono... senza saperlo non posso farlo? Potrebbero essercene 0,1,2... e vorrei che mi togliesse solo quelle di funzione() lasciando le altre intatte...

  6. #6
    Ma l'hai provata? Cmq per il caso di assenza delle parentesi poi aggiungo il caso, basta che fai un esempio.
    dA .. foto di viaggio
    L'esperienza è il tipo di insegnante più difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957
    funzia funzia, avevo sbagliato a mettere l'escape nelle parentesi. Chiudo scusa,
    Grazie mille!

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.