Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Ciclo WHILE ed EXPLODE()

    Salve a tutti,
    ho il seguente problema : ho una variabile $testo che estrapolo da una tabella MySQL. Il testo di questa variabile è formattato nel seguente modo :

    <D>Domanda1
    <R>Risposta1

    <D>Domanda2
    <R>Risposta due

    etc..

    A me serve di caricare la domanda in una variabile $domanda e la risposta in un'altra variabile $risposta.
    Ho pensato di usare la explode() nel seguente modo:

    codice:
     list($domanda) = explode("<D>",$testo);
     list($risposta) = explode("<R>",$domanda);
    il tutto lo devo passare dentro un ciclo WHILE, cioè : finchè non trovi la fine del testo esegui il codice sovrastante.
    A questo vi chiedo : esiste una soluzione migliore ??

    Grazie

    Riccardoone
    Windows è un qualcosa che fà accender la macchina e non si sà come, linux è un s/o che la fà funzionare (by ©innovatel)

  2. #2
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392

    Re: Ciclo WHILE ed EXPLODE()

    Originariamente inviato da Riccardoone
    Salve a tutti,
    ho il seguente problema : ho una variabile $testo che estrapolo da una tabella MySQL. Il testo di questa variabile è formattato nel seguente modo :

    <D>Domanda1
    <R>Risposta1

    <D>Domanda2
    <R>Risposta due

    etc..

    A me serve di caricare la domanda in una variabile $domanda e la risposta in un'altra variabile $risposta.
    Ho pensato di usare la explode() nel seguente modo:

    codice:
     list($domanda) = explode("<D>",$testo);
     list($risposta) = explode("<R>",$domanda);
    il tutto lo devo passare dentro un ciclo WHILE, cioè : finchè non trovi la fine del testo esegui il codice sovrastante.
    A questo vi chiedo : esiste una soluzione migliore ??

    Grazie

    Riccardoone
    prova con le espressioni regolari:
    codice:
    <pre><?
    $mysql_result = "
    <D>Pippo è maschio? <R>No, è femmina
    <D>Pippa è femmina? <R>No, è maschio";
    preg_match_all("|(<D>)(.+)(<R>)(.+)|", $mysql_result, $array);
    print_r($array);
    ?></pre>
    si può perfezionare ma è un'inizio

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.