Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    [regex] stringa compresa tra..

    Ciao a tutti,
    nel mio codice ho bisogno di controllare che un numero sia presente all'interno di una stringa di più numeri separati da virgola. Così:
    Codice PHP:
    $num 5;
    $s "3,56,23,44,1,2,33"
    Inizialmente avevo usato questa espressione:
    Codice PHP:
    preg_match("/$num/i","$s"
    solo dopo mi sono però accorto che nonostante il numero 5 in se non ci fosse nella lista, mi restituiva true.
    Questo giustamente perché è presente il numero 56 che, effettivamente, è un 5 messo all'interno di tutta la stringa.
    Quindi ora dovrei fare una regex che mi controlli se il numero è preceduto o da una virgola o da NULLA o/e succeduto o da una virgola o da NULLA. Oppure posso semplicemente dire che non deve essere preceduto ne succeduto da altri numeri.

    ho provato a fare
    Codice PHP:
    preg_match("/[^0-9]$num[^0-9]/i","$s"
    ma purtroppo non funziona e ora non saprei più che fare.
    Qualcuno saprebbe darmi una mano?

    Spero di essermi spiegato e grazie in anticipo
    Flash Developer for Rich Media
    PHP, jQuery Developer

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    echo preg_match("#\b$num\b#",$s) ? 'trovato' : 'non trovato';

  3. #3
    uh... fin troppo banale >_<

    grazie mille
    Flash Developer for Rich Media
    PHP, jQuery Developer

  4. #4
    ma un semplice

    Codice PHP:
    eregi($num.',',$s
    no?

  5. #5
    e se il numero voluto fosse l'ultimo della lista ovvero ",$num"?

    cmq la soluzione di nicola è perfetta
    Flash Developer for Rich Media
    PHP, jQuery Developer

  6. #6
    Bastava aggiungere una virgola alla fine della stringa. In questo anni, non essendo riuscito a capire a pieno le regex, ho cercato di trovare soluzioni alternative valdide.

  7. #7
    Codice PHP:
    in_array($numexplode($s","

  8. #8
    cavolo weppos, non ci avevo pensato.

    @Samleo: purtroppo sto lavorando modificando un sistema non implementato da me e vorrei cambiare solo l'indispensabile =)
    Flash Developer for Rich Media
    PHP, jQuery Developer

  9. #9
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Guarda se puoi usare una regexp usala perche' e' mediamente 10 volte piu' veloce delle funzioni di php come explode, substr, strpos etc .

  10. #10
    Si questo lo so, ma il problema non è che nn le voglio usare, ma che non riesco mai ad ottenere quello che voglio.

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.