|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jul 2010
Messaggi: 8
|
[PHP] preg_match
Buonasera, ho bisogno di un aiuto:
io ho questa funzione che uso per estrarre un dato(in questo caso estrae +1.9) che viene fornito cosi: $dato = '+1.9 km/h'; function strip_units ($data) { preg_match('/([\d\.\+\-]+)/',$data,$t); return $t[1]; } ora io ho un dato fornito cosi: $dato = '+ 6 %'; (con lo spazio dopo il +) se uso la funzione sopra mi estrae solo il "+", senza il 6(ovviamente potrebbe essere anche - 6 %)...io invece vorrei estraesse + 6 (in pratica mi serve x sommarlo ad un altro valore) conosco solo le basi del php e questa cosa non riesco a risolverla... qualcuno può aiutarmi? |
|
|
|
|
|
#2 | |
|
Junior Member
Iscritto dal: Jul 2010
Messaggi: 8
|
Quote:
niente proprio? |
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: May 2004
Messaggi: 278
|
Non sono un grande esperto ma provo a darti una mano.
Secondo me se usi il pattern: Codice:
/[-+]{1}[ ]?[0-9]+(\.[0-9]+)?/
In dettaglio: - all'inizio ci deve essere un + o un -; - dopo il segno ci puo' essere uno spazio; - dopo l'eventuale spazio ci deve essere almeno un numero; - dopo il numero ci puo' essere un punto seguito da almeno un numero. Tieni pero' a mente che se inserisci un input tipo '+ 3.1 km/h' otterrai: Codice:
Array
(
[0] => + 3.1
[1] => .1
)
__________________
PROCESSORE: AMD Athlon64 2800+ Boxed - MOTHERBOARD: Gigabyte K8NS nForce3 250 - SCHEDA VIDEO: 3D Prophet 9800 Pro 128MB - RAM: 512MB Corsair Value + 512 V-Data - CASE: Chieftech Dragon - ALIMENTATORE: Q-TEC 550W - HARD DISK: Seagate SATA 80 GB - LETTORE DVD: LG 16x52x - MASTERIZZATORE: Nec ND-3520 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:23.




















