Repository 32bit  Forum
Repository 64bit  Wiki

Aiuto RegExpression

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

Aiuto RegExpression

Messaggioda darkstaring » mer set 26, 2012 8:31

Ciao :)
E dà un pò che inizio a vedere le espressioni regolari ma ancora ho tanto da imparare...
Mi sapete dire se è possibile trovare il testo tra 2 parentesi tonde??
Ho un testo di questo tipo: "12.12.12-@-3-2(1)11"; in questo caso vorrei prendere solo l' uno tra le tonde..
Ho un numero finito di valori, ovvero un numero di massimo 2 cifre: [0-9]{1,2}
ma non riesco a prendere solo quelo che è tra le tonde
Sono due giorni che tento :)
Sapete aiutarmi???
darkstaring
Linux 2.4
Linux 2.4
 
Messaggi: 364
Iscritto il: mer ott 13, 2010 12:55
Slackware: Current
Desktop: xfce

Re: Aiuto RegExpression

Messaggioda ZeroUno » mer set 26, 2012 9:24

^.*\(([0-9]{1,2})\).*$
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg
Codice: Seleziona tutto
1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111
Avatar utente
ZeroUno
Staff
Staff
 
Messaggi: 4396
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

Re: Aiuto RegExpression

Messaggioda darkstaring » mer set 26, 2012 9:52

Grazie ZeroUno :D

Ho provato ad applicarla su 2 stringhe: "29.10.10-A(4)" e "espressioni(4) regolari!"
Per provare a sostituire il numero (4) con "Trasformato"
ma sembra non funzionare,
Codice: Seleziona tutto
<?php
$testo = "29.10.10-A(4)" ; //"espressioni(4) regolari!";
$var=str_replace("^.*\(([0-9]{1,2})\).*$","Trasformato:", $testo);
print $var;
?>

In entrambi i casi il 4 rimane quattro e non diventa "Trasformato" come mi aspettavo :x...

Sbaglio perchè devo cambiare la funzione str_replace con un'altra che
estrae quello che verifica la reg.ex???
Se si potersti dirmi quale è ? :D
Grazie
darkstaring
Linux 2.4
Linux 2.4
 
Messaggi: 364
Iscritto il: mer ott 13, 2010 12:55
Slackware: Current
Desktop: xfce

Re: Aiuto RegExpression

Messaggioda ZeroUno » mer set 26, 2012 10:36

ecco, già a sapere quello che vuoi fare è meglio.


$var=preg_replace("/\([0-9]{1,2}\)/","(Trasformato:)",$testo);

http://it2.php.net/preg_replace
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg
Codice: Seleziona tutto
1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111
Avatar utente
ZeroUno
Staff
Staff
 
Messaggi: 4396
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

Re: Aiuto RegExpression

Messaggioda darkstaring » mer set 26, 2012 20:44

ZeroUno ha scritto:ecco, già a sapere quello che vuoi fare è meglio.

:D
Ti ringrazio per la chicca adesso me la vedo :)
Comunque ho aggirato il problema diversamente, partendo dalla tonda di destra e prendendo quello che cè dopo la destra
Grazieee comunque
:)
darkstaring
Linux 2.4
Linux 2.4
 
Messaggi: 364
Iscritto il: mer ott 13, 2010 12:55
Slackware: Current
Desktop: xfce

Re: Aiuto RegExpression

Messaggioda targzeta » gio set 27, 2012 0:27

Tieni presente che in PHP, se vuoi estrapolare differenti informazioni da una stringa, con una regexp fai tutto in un colpo solo. Ovvero, dato che, se non ricordo male, la stringa in oggetto contiene anche una data, e dato che tu vuoi anche estrapolare la data, invece di fare mille substring, ti basta una sola regexp per prelevare sia la data che il termine tra parentesi.

Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6168
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: Aiuto RegExpression

Messaggioda darkstaring » gio set 27, 2012 16:24

Umm, non saprei perche ci sono diversi casi da interpretare..

Oltre al campo data e il termine tra le parentesi ci possono essere uno o più termini al centro separati da un meno..
Questo potrebbe essere un'esempio
12.12.12-@-SP-4(2)
in'oltre tutti i dati vanno passati ad un database, quindi bisogna verificare ogni membro
per vedere se è possibile inserirlo nella tabella, per il fatto delle chiavi esterne...
In più ogni stringa non contiene solo questi campi, ma avvolte ci sono altre info
quindi di fatto potrebbe arrivare "djoaejdowi12.12.12-@-SP-4(2)NOSHOWnckndsk" :D
la scritta noshow non l'ho scritta a caso :)
se è presente si deve cambiare un flag da inserire nel db..
E poi ci sono anche altri controlli
Non credo sia possibile farlo in un solo colpo, tanto meno da mè :D
non riuscivo a vedere il contenuto tra le 2 parentesi :x , figuriamoci......
Comunque grazie
darkstaring
Linux 2.4
Linux 2.4
 
Messaggi: 364
Iscritto il: mer ott 13, 2010 12:55
Slackware: Current
Desktop: xfce

Re: Aiuto RegExpression

Messaggioda targzeta » gio set 27, 2012 18:09

Ok, come credi, però da come descrivi ciò che devi fare, sembra proprio un lavoro da far fare a preg_match(). Potrebbe essere un buon esercizio e, se vuoi, ti possiamo dare una mano anche io.

Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6168
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: Aiuto RegExpression

Messaggioda ZeroUno » gio set 27, 2012 19:21

confermo preg_match. Io direi, dacci il caso più complicato che ti può capitare e vediamo che si può fare.
Vedrai.. una volta partito con le regex ti divertirai un mondo.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg
Codice: Seleziona tutto
1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111
Avatar utente
ZeroUno
Staff
Staff
 
Messaggi: 4396
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

Re: Aiuto RegExpression

Messaggioda darkstaring » gio set 27, 2012 21:34

ZeroUno ha scritto:Vedrai.. una volta partito con le regex ti divertirai un mondo.

Aahahahahah :D
Sicuramente si, ma che complicate che sembrano :?
Comunque un caso abbastanza complicato potrebbe essere quello che ho scritto prima, dove oltre alle info essenziali ci sono anche altri caratteri..
Comunque questi sono alcuni esempi:
Codice: Seleziona tutto
NOTE:08.06.11-2(3)\" 29.06.11-2(3)\" 20.07.11-2(3)\" 01.09.11-2(3)\" 23.09.
 11-2(4)\" 14.10.11-2(5)\" 03.11.11-2(6)\" 29.11.11-2(9)\" 20.12.11-2(9)\"
 11.01.12-2(3)\" 01.02.12-2(3)\" 22.02.12-2(9)\" 14.03.12-2(9)\" 04.04.12-2
 (3)\" 26.04.12-2(3)\" 23.05.12-2(3)\" 13.06.12-2-3(9)\" 04.07.12-T(8)\"23.
 08.12-2(3)\"13.09.12-2(6)\"\nUser: corsista
NOTE:26.10.10-2(1)\" 12.11.10-2(1)\" 01.12.10-2(1)\" 19.12.10-2(1)\" 04.01.
 11-2(1)\" 24.01.11-2(1)\"  11.02.11-2(1)\" 28.02.11-2(1)\" 15.03.11-2(1)\"
  01.04.11-2(1)\" 15.04.11-3(1)\" 19.04.11-2(1)\" 06.05.11-2(1)\" 20.05.11-
 2(1)\" 07.06.11-2(1)\" 28.06.11-2(1)\" 15.07.11-2(1)\" 03.08.11-2(1)\" 20.
 12.11-2(1)\" 24.01.11-2(1)\" 11.02.11-2(1)\" 28.02.11-2(1)\" 15.03.11-2(1)
 \" 01.04.11-2(1)\" 09.01.12-2(1)\" 27.01.12-2(1)\" 14.02.12-2(1)\" 02.03.1
 2-2(1)\" 20.03.12-2(1)\" 06.04.12-2(1)\" 24.04.12-2(1)\" 11.05.12-2(4)\" 0
 5.06.12-2(1)\" 26.06.12-2(1)\" 17.07.12-2(1)\"\n\n.
NOTE:15.10.10.2(8)\" 05.11.10-2(2)\" 26.11.10-2(2)\" 21.12.10-2(9) no show
NOTE:07.04.11-834(@)\" 15.09.11-4609-@ 31.03.12-9331@ 04.03.12-9446-@ 17.03
 .12-12145@\n

Quà ci sono degli errori.. per esempio "07.04.11-834(@)" contiene una '@' dentro le tonde
mentre invece ci dovrebbero stare solo numeri....

Comunque questa dovrebbe essere la procedura da intraprendere :)

    dividere tutte le note dal carattere ' " ' (doppio apice) e ciclare per ogni una;
    Vedere se su ogni nota si trova la parola 'show'
    Convertire la data dal formato italiano a quello americano
    Trovare il numero dei trattamenti, sono divisi da un meno e possono essere diversi
    Trovare il codice dipendente tra le tonde
Su i primi due punti sembrerebbe che ci sono ma non saprei come un'istruzione possa scrivere ciclicamente delle cose..
Diciamo che mi fermo quì:
Codice: Seleziona tutto
<?php
$prova="01.05.12-2-4";
$nota=preg_replace('/(\d{2}).(\d{2}).(\d{2})-/', 'INSERT INTO....(\'20$3-$2-$1 00:00:00\', ', $prova);
print $nota;
?>

In questo caso devo scrivere 2 query, una con trattamento 2 ed un'altra con il 4 sempre con stessa data e dipendente
Al momento la vedo grigia...
darkstaring
Linux 2.4
Linux 2.4
 
Messaggi: 364
Iscritto il: mer ott 13, 2010 12:55
Slackware: Current
Desktop: xfce

Re: Aiuto RegExpression

Messaggioda targzeta » ven set 28, 2012 18:01

Quindi quando si incontra una con '(@)' o una con '-@' o una con '-122@' cosa bisogna fare? Annullare tutto?

Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6168
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: Aiuto RegExpression

Messaggioda darkstaring » ven set 28, 2012 22:13

Ahahahaahah :)
ci stai ancora lavorando
Ti posto le tabelle così rendo meglio l'idea
Codice: Seleziona tutto
mysql> select * from trattamento;
+------+-------------------+
| tipo | descrizione       |
+------+-------------------+
| 1    | Ricostruzione     |
| 2    | Refill            |
| 3    | Ricostr. Piedi    |
| @    | Tratt Estetico    |
| A    | Riparazione       |
| A2   | Riparazione mani  |
| A3   | Riparazione piedi |
| SP   | Semipermanente    |
| T    | Tolte             |
| T2   | Tolte mani        |
| T3   | Tolte piedi       |
| XX   | SCONOSCIUTO       |
+------+-------------------+
12 rows in set (0.00 sec)

mysql> select * from dipendenti;
+----+-------------+---------+----------+
| id | nome        | Cognome | Telefono |
+----+-------------+---------+----------+
|  1 | Sandra      | cognome | telefono |
|  2 | Rita        | cognome | telefono |
|  3 | Paola       | cognome | telefono |
|  4 | Ornella     | cognome | telefono |
|  5 | Ester       | cognome | telefono |
|  6 | Antonella   | cognome | telefono |
|  7 | Daniela V   | cognome | telefono |
|  8 | Floriana    | cognome | telefono |
|  9 | Claudia     | cognome | telefono |
| 10 | Daniela B   | cognome | telefono |
| 11 | Denise      | cognome | telefono |
| 12 | Bengi       | cognome | telefono |
| 13 | Francesca   | cognome | telefono |
| 14 | SCONOSCIUTO | cognome | telefono |
| 20 | Grazia      | cognome | telefono |
+----+-------------+---------+----------+
15 rows in set (0.00 sec)

Dove l'appuntamento è formato da
giorno.mese.anno-trattamento1-trattamento2.....-trattamentoN ( dipendente )
Per quanto sia contorta
questa è la mia soluzione
Codice: Seleziona tutto
<?php
//CONNETTO A MYSQL
   if (!($mylink = mysql_connect("localhost","root","")))
   {
      print "<h3>Non riesco a collegarmi a mysql, modifica connessione.php</h3>\n";
      exit;
   }
   
   mysql_select_db("AGENDASASSARI");// or die "Non riesco a selezionare il database";
   $nomefile="sassari.vcf";
/*   mysql_select_db("AGENDAPTORRES");
   $nomefile="ptorres.vcf";
   mysql_select_db("AGENDASORSO");
   $nomefile="sorso.vcf";
*/
$elimina_appuntamenti=mysql_query("delete from appuntamenti;");
if($elimina_appuntamenti==FALSE) print "Non riesco ad eliminare i vecchi appuntamenti!".mysql_error();
$elimina_clienti=mysql_query("delete from clienti;");
if($elimina_clienti==FALSE) print "Non riesco ad eliminare i vecchi clienti!".mysql_error();

$idcliente="";

  $file = fopen("$nomefile", "r" )or die ("Non posso aprire il file \n");
  $stato = 0;
  while (! feof($file))
  {
    $riga=preg_replace('/[[:space:]]+/', ' ', fgets($file, 1024));
   
    //TRASFORMO RIGA IN MAIUSCOLO
    $riga= strtoupper($riga);
    //$riga= str_replace("'","",$riga);
   
    $show=0;
    if ( substr($riga,0,2) == "FN")
      $stato=1;
    elseif (substr($riga,0,3) == "TEL")
      $stato=2;
    elseif ( substr($riga,0,4) == "NOTE")
      $stato=3;
    elseif ( substr($riga,0,3) == "END")
      $stato=4;   
    elseif (($stato != 3)||($stato == 0) )
      continue;
 
    switch($stato)
    {
      case 1:
   $nome_cognome=substr($riga, 3);
   $nome_cognome=str_replace("'","",$nome_cognome);
   $nome_array = explode(" ", $nome_cognome);
   if(isset($nome_array[3]))
   {
     $nome_array[0]=$nome_array[0]."".$nome_array[1];
     $nome_array[2]=$nome_array[3];
   }
   if ($nome_array[0] == "") $nome_array[0] = "Sconosciuto";
   if ($nome_array[1] == "") $nome_array[1] = "Sconosciuto";
   $stato=0;
   break;
      case 2:
   $telefono= substr($riga,14);
   //print "<BR><h3>$nome_array[0] $nome_array[1]</h3>";
   /*
    $stringaclienti="INSERT INTO clienti VALUES (NULL, '$nome_array[0]','$nome_array[1]','$telefono', NULL);";
   db_clienti($stringaclienti);
   $idcliente=mysql_insert_id();
   */
   //print "<BR><FONT color=GREEN>Ultimo ID cliente inserito = $idcliente</FONT>";
   $stato=0;
   break;
      case 3:
   if(isset($note)) $note= $note."".$riga;
   else $note=substr($riga,5);
   break;
      case 4:
   if(!isset($note))
   {
     $stato=0;
     continue;
   }
   //INSERISCO QUÌ IL CLIENTE, SOLO SE CI SONO APPUNTAMENTI
   $stringaclienti="INSERT INTO clienti VALUES (NULL, '$nome_array[0]','$nome_array[1]','$telefono', NULL, NULL);";
   db_clienti($stringaclienti);
   $idcliente=mysql_insert_id();
   
   //Divido ogni singolo appuntamento
   $appuntamenti = explode("\"", $note);
   if(count($appuntamenti) < 1)
   {
      $stato=0;
      continue;
   }
     for($j=0;$j<count($appuntamenti);$j++)
       {
         controlla_appuntamento($appuntamenti[$j]);       
       }
       if(preg_match("*:*",$note))
         {
      $note=@explode(":",$note);
      aggiornainfocliente($note);
         }
       $stato=0;
       unset($note);unset($nome_array);unset($data);unset($appuntamenti);
       break;
     }//FINE SWITCH
  }//FINE LEGGI-RIGA
?>

<?php

function controlla_appuntamento($appuntamento)
{
global $idcliente;
//Elimino gli spazi:
         $appuntamento=str_replace(" ", "", $appuntamento);
         //verifico se no show e metto 1 se cè
         if(preg_match("/show/i",$appuntamento)) $show=1;
         else $show=0;
         $s_appunt=explode(")", $appuntamento);
         //Esempio $s_appunt[0] => 16.11.10-2(4 => 21.05.11-2-5-2-3(3
         $info= explode("-",$s_appunt[0]);
        
         //Formo la data
         $data=$info[0]; //INFO[0] CONTIENE DATA
        
         //ELIMINO LETTERE BACKSLASH E ' :'
         $data=ereg_replace("[A-Z]","",$data);
         $data=str_replace("\\","",$data);
         $data=str_replace("\/","",$data);
         $data=str_replace(":","",$data);
        
         $data=explode(".",$data);
         if( isset($v_data[0]) && isset($v_data[1]) && isset($v_data[2]) )
          $data=controlladata($data);
         //else break;
        
         //Trovo tutti i trattamenti per questo appuntamento
         //da INFO[1] a INFO[FINE]
         for($i=count($info)-1;$i>0;$i--)
        {
          if(@preg_match("*\(*", $info[$i]))
            {
            //print "<BR>TROVO: $info[$i]<BR>";
         $divisione=explode("(",$info[$i]);
         $dipendente= $divisione[1];
         $dipendente=controlladipendente($dipendente);
         $prestazione= $divisione[0];
         $prestazione=controllaprestazione($prestazione);
         @$stringaappuntamenti="INSERT INTO appuntamenti VALUES  ( null , '20$data[2]-$data[1]-$data[0] 10:00:00', '$s_appunt[0]', $idcliente, $dipendente, '$prestazione',$show);";
         db_trattamenti($stringaappuntamenti);
            }else
            {
         $prestazione=$info[$i];
         $prestazione=controllaprestazione($prestazione);
         @$stringaappuntamenti="INSERT INTO appuntamenti VALUES  ( null , '20$data[2]-$data[1]-$data[0] 10:00:00', '$s_appunt[0]', $idcliente, $dipendente, '$prestazione',$show);";
         db_trattamenti($stringaappuntamenti);
            }
        }
}
function aggiornainfocliente($x)
{
  global $idcliente;
  $infocliente="";
  for ($i=1;$i<count($x);$i++)
  {
    if(isset($infocliente)) $infocliente= $infocliente."".$x[$i];
    else $infocliente=$x[$i];
  }
  $infocliente=str_replace("\"","",$infocliente);
   $aggiornainfo="update clienti set info = \"$infocliente\" where id=$idcliente";

   if( mysql_query($aggiornainfo)==FALSE)
     {
       print "ERRORE INFO CLIENTE $idcliente \t ESPRESSIONE: $aggiornainfo \n \n";
     }
}

function controlladata($v_data)
{
  global $nome_array;
  if(! isset($v_data[0])) //SE GIORNO NON PRESENTE
    $v_data[0]=1;
  if(! isset($v_data[1])) //SE MESE NON PRESENTE
    $v_data[1]=1;
  if(! isset($v_data[2])) //SE ANNO NON PRESENTE
    $v_data[2]=50;
 
  if(checkdate($v_data[1],$v_data[0],"20".$v_data[2]) == FALSE)
    print "CLIENTE: $nome_array[0] $nome_array[1] data \"$v_data[0],$v_data[1],20.$v_data[2]\" non valida \n";
return($v_data);
}
function controlladipendente($x)
{
  //AGGIUNGERE SE CE UN NUMERO CONTROLLA SE +DI 14+
  if ($x=='A')
  {
    $x="6";
    return($x);
  }elseif ($x=='B')
  {
    $x="12";
    return($x);
  }else
  if(@preg_match("/[A-Z]/",$x)) $x="14";
  elseif( (int)$x > 13) $x=14;
  return ($x);
}
function controllaprestazione($prestazione)
{
  if (($prestazione == "1" ) || ($prestazione == "2" ) ||($prestazione == "3" ) || ($prestazione == "@" ) || ($prestazione == "A" ) || ($prestazione == "A2" ) || ($prestazione == "A3" ) || ($prestazione == "SP" ) || ($prestazione == "T" ) || ($prestazione == "T2" ) || ($prestazione == "T3" ) )
      return($prestazione);
  elseif($prestazione == "3T") $prestazione="T3";
  else  $prestazione="XX"; //Per tutti i caratteri non in trattamenti

    return($prestazione);
}

function db_clienti($query)
{
  //print "<BR> Query arrivata: \t $query <BR>";
  if(mysql_query($query) == FALSE)
      {
   print "ERRORE INSERIMENTO CLIENTE \t \t '$query' \n \n";//.mysql_error();
      }
      //else print "<BR>OK APPUNTAMENTO \t '$query' ";
}

function db_trattamenti($query)
{
  if(mysql_query($query) == FALSE)
      {
     
   global $j;
   global $appuntamenti;
   global $nome_array;
   print "ERRORE APPUNTAMENTO di |$nome_array[0] - $nome_array[1]| \t ESPRESSIONE ARRIVATA: $appuntamenti[$j]\n"; ;// \t '$query' <br></font>";//.mysql_error();
   //print "Query arrivata: \t $query \n \n";
      }
      //else print print "<BR>OK APPUNTAMENTO \t '$query' ";
}

?>

Quindi credi sia possibile fare tutto in una istruzione?
darkstaring
Linux 2.4
Linux 2.4
 
Messaggi: 364
Iscritto il: mer ott 13, 2010 12:55
Slackware: Current
Desktop: xfce

Re: Aiuto RegExpression

Messaggioda targzeta » ven set 28, 2012 23:04

Io volevo solo sapere se '-@' fosse valido oppure no, ma da quello che vedo, sì.

Per il resto, a me basti che ti funzioni e che tu ne sia soddisfatto. Quello che ti dicevo è che se dai uno sguardo alla funzione preg_match() di PHP, ti accorgerai che puoi spezzare la tua riga in un array secondo una regexp e quindi poi effettuare tutte le operazioni che vuoi direttamente su quell'array. Prova a darci un'occhiata e se hai bisogno di un aiuto, noi siamo qui.

Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6168
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti

cron