Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439

    [php] check in loop while true

    Salve,
    ho scritto questo codice che fa alcuni controlli su dei campi, e ficca il contenuto in un array. I controlli vengono eseguiti con tre tipi di eregi. Il problema (al di là degli eregi e dello script) è che vorrei che lo script fosse eseguito fin quando è possibile, magari settando un while (true)... ma non so come scriverlo.
    ad esempio
    se trovi una virgola nella stringa
    (.*)([,])(.*)
    spezzami la stringa in un array e mettici il valore di sinistra e di destra. Fin qui tutto ok.
    Ma come faccio a dire ancora riprova a rifare la stessa cosa con i valori appena spezzati? ...e provaci finchè trovi virgole? L'array di contenimento ovviamente deve essere lo stesso, quindi andrebbe definito all'inizio...
    わさび

  2. #2
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    while(non trovi più la virgola)
    cerca la virgola e fai lo spezzettamento lento
    ..::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 luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    ma un explode no?
    explode(",",$stringa)?
    ..::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]

  4. #4
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Originariamente inviato da luke83
    ma un explode no?
    explode(",",$stringa)?
    Grazie x la risposta luke83,

    l'explode lo usavo prima,
    ora sto usando una ereg perchè mi servirebbe separare vigole, punti e virgole, barre e " - "... quindi sono diversi i casi possibili
    わさび

  5. #5
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    una cosa,

    while (!eregi("*mioeregi*", $var))

    nel ciclo ci entra sempre almeno una volta?
    oppure se eregi non trova niente skippa?
    わさび

  6. #6
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    skippa, skippa...

    usa il

    Codice PHP:
    do{
    //codice
    }while(condizione
    serve proprio a fare almeno un ciclo...

    ..::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]

  7. #7
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Mi daresti un consiglio su come scrivere questa?

    codice:
    	$emailarray = array();
    	$cnt = 0;
    	$emailarray[] = $row['email'];
    	do {
    		eregi("(.*)([\040]*)([;,]+)([\040]*)(.*)", $emailarray[$cnt], $regs);
    		unset($emailarray[$cnt]);
    		if ((bool) $regs[1]) $emailarray[] = trim($regs[1]);
    		if ((bool) $regs[5]) $emailarray[] = trim($regs[5]);
    		$cnt++;
    	} while (!eregi("(.*)([\040]*)([;,]+)([\040]*)(.*)", $emailarray[$cnt]));
    :master:
    わさび

  8. #8
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    cos'è che nn va?
    ..::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]

  9. #9
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Originariamente inviato da luke83
    cos'è che nn va?
    È che se la mia row è ad esempio
    codice:
    	$row['email'] = "info-ss@ddk--j.it ; mph@ejeje.it , reiionhre@krjrjr.com";
    la regex funziona bene, però se stampo l'array così
    Codice PHP:
        foreach($emailarray as $arr) {
            echo 
    $arr."
    \n"
    ;
        } 
    viene fuori
    codice:
    info-ss@ddk--j.it ; mph@ejeje.it
    reiionhre@krjrjr.com
    in pratica ha beccato solo l'ultima,
    mentre invece io vorrei che le splittasse tutte
    わさび

  10. #10
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    ma se fai così?

    Codice PHP:
    $email="prima;seconda,terza";
    $email=explode(",",$email);
    foreach(
    $email as $e)
    $f[]=explode(";",$e); 
    ottieni in $f gruppetti di mail che volendo puoi anke estrarre tutte in un array "lineare"..
    ..::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 © 2025 vBulletin Solutions, Inc. All rights reserved.