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

    Parsing php, prendere dati da un copia/incolla

    Devo databasizzare 4 colonne di una tabella prese col copia incolla.

    Prenderle col copia incolla significa non avere tag tra un dato e l'altro.... ma una quantita' indefinita di spazi e TAB.

    NON RIESCO a venirne fuori, qualcuno sa come fare?

    Sono arrivato a questo punto:
    codice:
    			$token=strtok($elenco,"\15");	
    			$righe=array();
    			$info=array();
    			$i=0;
    
    			while($token){
    				$righe[$i]=$token;
    				$righe[$i]=trim($righe[$i]);
    				if(strlen($righe[$i])>0)		
    				$i++;
    				$token=strtok("\15");
    			}
    
    			for($i=0;$i<count($righe);$i++)	{
                                  echo "io sono una riga: ".$righe[$i];
                            }
    La fase successiva e' prendere i dati, e ci sarei riuscito se non fosse per il fatto che A VOLTE anziche' 1 tab ce ne sono 2, o ci sono piu' spazi....

    C'e' un modo di uccidere tutti sti caratteri stronzi e metterci un bell'universale "|" (o qualsiasi altro carattere che sappia bene qual'e'?)
    -_-"

  2. #2
    Fai una bella ricerca sulle ESPRESSIONI REGOLARI, il forum ne e' pieno......

    Qui trovi un po' di info.... occhio, esistono anche le funzioni POSIX

    http://it2.php.net/regex
    <<E' una decisione molto importante. Pensaci bene, Ataru!>>
    <<STOLTO! Non lo sai che io AGISCO SEMPRE PRIMA DI PENSARE???>>

  3. #3
    Ho provato a continuare il codice con uno:

    codice:
    (testo da parsare):
    1	F.I.G.A.	402	578
    2	IV	215	453
    3	pG.iT	102	396
    4	CaneNero	39	338
    5	FeGa	186	296
    6	Cento	212	267
    7	CILIEGIO	71	207
    8	nXo	46	190
    
    (codice di prima) E POI:
    
    list ($Posizione, $Nome, $Membri, $Punteggio) = split ('[ \t     ]', $righe[$i]);
    Ma sembra spezzare le T piuttosto che i tab.

    Inoltre non spezza gli spazi.... boh?
    -_-"

  4. #4
    prova
    $nuova = preg_replace("[\t ]+", '|', $vecchia);

    http://php.it/manual/it/reference.pc...ern.syntax.php
    qui trovi un pò di info

  5. #5

    em......

    $nuova = preg_replace("§[\t ]+§", '|', $vecchia);

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 © 2024 vBulletin Solutions, Inc. All rights reserved.