Regexp Php

  • Creatore Discussione Creatore Discussione Rey
  • Data di inizio Data di inizio

Rey

Utente Attivo
11 Set 2012
73
0
6
Salve a tutti,
non riesco a trovare una regex che vada bene, ho una variabile che può mutare in due casi:

1.
PHP:
$testo = " Tipo:	Chitarra: 01 ";
2.
PHP:
$testo = " Tipo:	Chitarra: 01 Pianoforte: 01 ";

Vorrei ottenere un'array contenente il tipo e la quantità di ogni strumento tipo così:


Codice:
Tipo: Chitarra: 01 Pianoforte: 01

Tipo

Chitarra

1

Pianoforte

1
La regex qui sotto funziona per il caso 1, nel caso 2 invece non trova il pianoforte, ho provato a cambiarla in ogni modo ma se funziona per il caso 2 poi non va per il caso 1..

PHP:
preg_match('/(Tipo|Type):*.*?(\w+).*(\d+)/', $testo, $tipologia);

foreach ($tipologia as $strumento) {
echo "<br>";
echo $strumento;
echo "<br>";
}
Idee?
 
Ciao, non sono per niente pratico delle regex, puoi provare cosi
PHP:
<?php
$testo = " Tipo:    Chitarra: 01 Pianoforte: 01 ";
$array = explode(" ", trim($testo));

foreach ($array as $key => $value) {
    if (empty($value))
        unset($array[$key]);
}
var_dump($array);
?>
 

Discussioni simili