Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di AvOJaromil
    Registrato dal
    Feb 2006
    residenza
    laddove si stagiona formaggio dentro a dei grossi buchi di tufo
    Messaggi
    549

    suddividere stringa tramite regexp

    dovrei dividere una stringa che contiene varie sottostringhe così composte:

    #separatore=parola_sempre_diversa!

    ho provato con

    $porzioni=split('^#separatore([\S]*!$)',$stringa_da_dividere)

    ma non funziona. ho provato a controllare con regex coach è l'espressione lavora perfettamente.

    sbaglio qualcosa in php?


    grazie
    "homer sei tonto come un mulo e due volte più brutto. se uno sconosciuto ti offre un passaggio tu devi accettarlo..."

    www.flickr.com/photos/asciella/
    www.lastfm.it/user/qvaioe/

  2. #2
    Non so se sia un errore di scrittura, ma le variabili le dovresti scrivere così:

    Codice PHP:
    $separatore ""
    // dentro gli apici scrivi quello che sarà il separatore

    $porzioni explode($separatore$stringa_da_dividere); 
    A questo punto $porzioni è un array e lo utilizzi come vuoi.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    Utente di HTML.it L'avatar di AvOJaromil
    Registrato dal
    Feb 2006
    residenza
    laddove si stagiona formaggio dentro a dei grossi buchi di tufo
    Messaggi
    549
    non sono riuscito a spiegarmi. forse.
    le sottoringhe sono sempre diverse. o meglio, hanno una parte costante (#separatore=.....!) ma il resto cambia.perciò non posso creare un pattern statico.
    devo trovare una regexp che possa adattarsi al contenuto. anzi, la regexp l'ho trovata, solo che non funzia con php.
    "homer sei tonto come un mulo e due volte più brutto. se uno sconosciuto ti offre un passaggio tu devi accettarlo..."

    www.flickr.com/photos/asciella/
    www.lastfm.it/user/qvaioe/

  4. #4
    OK.
    Forse ho capito cosa ti serve e puoi provare ad usare preg_split(), che forse è la funzione che meglio si adatta al tuo caso.

    Comunque.... a me non sembra che l'espressione sia ben formattata. Non conosco cosa sia Regex Coach, ma da subito salta all'occhio che i delimitatori dell'espressione non sono lo stesso carattere.

    Quantomeno dovrebbe essere scritta come segue:

    Codice PHP:
    $pattern "/#separatore([\S]*!$)/"
    Fatto sta che io una sintassi del genere non l'ho mai vista.
    Sei sicuro che questa regexp sia compatibile con PHP??

    Dai un'occhiata a questo link di PHPro, dove puoi trovare il significato di ogni simbolo delle regexp ed i metodi per costruirtene una secondo le tue esigenze!

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #5
    Utente di HTML.it L'avatar di AvOJaromil
    Registrato dal
    Feb 2006
    residenza
    laddove si stagiona formaggio dentro a dei grossi buchi di tufo
    Messaggi
    549
    in effetti era la regexp, grazie per il suggerimento del preg_split()
    con questa funziona '#separatore[=_A-Za-z0-9]+!'.

    RegCoach è un programmino per testare le regexp molto utile. e gratis.
    "homer sei tonto come un mulo e due volte più brutto. se uno sconosciuto ti offre un passaggio tu devi accettarlo..."

    www.flickr.com/photos/asciella/
    www.lastfm.it/user/qvaioe/

  6. #6
    OK, quindi ora funziona esattamente come vuoi te: bene!
    Ho appena scaricato il programmino che hai segnalato, così lo testo.
    Un aiuto con le regexp, in effetti, non fa mai male!

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.