Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538

    Problema con le espressioni regolari

    devo rintracciare e sostituire in una stringa tutte le occorenze di:

    [G]qualsiasicarattere[/G]

    ho provato con

    \[G\](.+)\[/G\]

    ma nn funziona. come potrei fare?

  2. #2
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    così non te piace:
    (ho supposto g stia per grassetto)

    codice:
    $txt="[G]qualsiasicarattere[/G]";
    $txt=str_replace("[G]", "", $txt);
    $txt=str_replace("[/G]", "", $txt);
    non usando le espressioni regolari ne guadagni in prestazioni, naturalmente..
    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  3. #3
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538
    non va bene, perchè se c'è un [G] ma nn c'è un [/G] dopo nn deve sostituire niente.

  4. #4
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    ok, giusto...

    allora prova con '\[G\](.+)\[\/G\]'
    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  5. #5
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538
    niente nn funziona.

    ma faccio bene a usare la funzione ereg_replace??

    codice:
    ereg_replace("\[G\](.+)\[\/G\]","\\1",$testo);

  6. #6
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538
    ok risolto!

  7. #7
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    io uso la preg_replace...

    naturalmente devi passare tutto in un var...

    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  8. #8
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538
    Originariamente inviato da luke83

    naturalmente devi passare tutto in un var...

    Probabilemte mi prenderai per fesso... ma il problema era proprio quello!!!!!

    non so perchè ma, nonostante nn sia la prima volta che uso sta funzione, mi ero convinto che bastasse scrivere

    codice:
    ereg_replace("\[G\](.+)\[\/G\]","\\1",$testo);
    per modificare la variabile $testo

    Poi appena mi sn accorto della mia cazzata mi sn detto tante di quelle bestemmie.....

  9. #9
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    sinceramente non voglio azzardare ma il 60% dei problemi in questo forum nasce da "sviste" del genere.. x questo l'ho sottolineato non sapendo se avevi scritto così x fretta o se xkè così era...

    l'mportante è aver risolto
    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

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 © 2024 vBulletin Solutions, Inc. All rights reserved.