Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Aiuto con REGEXP

  1. #1

    Aiuto con REGEXP

    Salve a tutti.

    Ho la necessità di controllare la presenza di id_lingua=tot , dove tot è un numero casuale e, in caso, sostituire il numero...

    avevo pensato di usare

    codice:
    preg_replace("id_lingua=tot", "id_lingua=$id_lingua" , $_SERVER['QUERY_STRING']);
    il problema è che non so costruire la regexp per dire id_lingua=tot

    Sapreste darmi una mano??


    Ne approfitto anche per togliermi un dubbio:

    avevo provato a aggirare il problema tramite una procedura un pò lunghetta che prevede di usare strpos...il problema è che se ho pagina.php?var1=1&var2=2, strpos non riesce a "vedere" var1=1...se inverto var1 e var2, ovviamente, diventa var2 quella "invisibile"...è un comportamento normale?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503

    Re: Aiuto con REGEXP

    codice:
    preg_replace("/id_lingua=\d+/", "id_lingua=$id_lingua" , $_SERVER['QUERY_STRING']);

  3. #3
    Funziona alla grande, grazie 1000!!!


    Riguardo a strpos ne sai qualcosa?

    (comunque usano preg_replace ho risolto la situazione in modo molto più veloce e pulito)

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Originariamente inviato da DeMoN3
    Riguardo a strpos ne sai qualcosa?
    Qui trovi tutto ciò che c'è da sapere.

  5. #5
    eh, lo so, ci sono stato un bel pò stamattina a cercar di capire come mai non funzionasse come doveva...ma nulla =\

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    strpos() cerca un certo carattere all'interno di una stringa e ti dice in che posizione l'ha trovata.
    Ti dice solo la prima occorrenza, ad esempio se nella stringa abcdefc cerchi il carattere c, ti dirà che è in posizione 2 (parte da 0), l'ultima verrà ignorata.

  7. #7
    perfetto, e quello l'ho capito e infatti riuscivo ad utilizzarla.

    Il problema era se la stringa che cercavo era subito dopo il carattere ?

    ovvero, se facevo
    codice:
    $num1=strpos("pagina.php?var1=1&var2=2","var1");
    $num2=strpos("pagina.php?var1=1&var2=2","var2");
    
    echo "num1=$num1
    num2=$num2";
    Ottenevo

    0
    18

    se facevo

    codice:
    $num1=strpos("pagina.php?var2=2&var1=1","var1");
    $num2=strpos("pagina.php?var2=2&var1=1","var2");
    
    echo "num1=$num1
    num2=$num2";
    Ottenevo

    18
    0

    insomma...non trovava mai la variabile "attaccata" al simbolo "?"

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Sei sicuro? Ho provato il codice che hai postato senza fare modifiche, nel primo caso mi dice
    11
    18

    nel secondo
    18
    11

  9. #9
    boh...a me non ne voleva sapere di trovarmi la stringa se era addossata al ?

    ho fatto la prova mettendola per secondo posto e andava

    ...boh =\

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.