[Risolto] preg_match per ottenere la data dai file
-
mauriello72
- Prode Principiante
- Messaggi: 144
- Iscrizione: mercoledì 8 agosto 2007, 23:57
[Risolto] preg_match per ottenere la data dai file
ciao a tutti
da questa stringa
30001-080118.mp3
non riesco ad ottenere , in php usando preg_match, un array con:
array[0] = 30001
array[1] = 08
array[2] = 01
array[3] = 18
array[4] = mp3
qualcuno sa aiutarmi?
grazie
da questa stringa
30001-080118.mp3
non riesco ad ottenere , in php usando preg_match, un array con:
array[0] = 30001
array[1] = 08
array[2] = 01
array[3] = 18
array[4] = mp3
qualcuno sa aiutarmi?
grazie
Ultima modifica di mauriello72 il sabato 8 marzo 2008, 22:02, modificato 1 volta in totale.
Re: preg_match
Ciao,
dipende se il formato è sempre assolutamente fisso... in questo caso forse fai prima con sbstr dandogli la posizione di inizio e fine di ogni sottostringa...
Altrimenti usando qualcosa del tipo (non ho modo di testarlo in questo momento):
dovrebbe andare... 
dipende se il formato è sempre assolutamente fisso... in questo caso forse fai prima con sbstr dandogli la posizione di inizio e fine di ogni sottostringa...
Altrimenti usando qualcosa del tipo (non ho modo di testarlo in questo momento):
Codice: Seleziona tutto
preg_match ('/([0-9]+)-([0-9]{2})([0-9]{2})([0-9]{2})\.(mp3)/' , $stringa, $testi_riconosciuti)Volans
Prima di scrivere leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Prima di scrivere leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
-
mauriello72
- Prode Principiante
- Messaggi: 144
- Iscrizione: mercoledì 8 agosto 2007, 23:57
Re: preg_match
il formato non è assolutamente fisso , ma la formula è perfetta ,grazie
solo..ehm... un'altra cosa ,per cortesia
alcuni file hanno anche am o pm alla fine della data,quindi:
30001-080118.mp3
30001-080119am.mp3
30001-080119pm.mp3
sono tutti formati validi.
la formula che mi hai dato mi fornisce ,giustamente , array con il primo tipo ,ma come fare se nella stessa lista di file esiste anche il secondo o terzo tipo? ho provato modificando cosi:
preg_match ('/([0-9]+)-([0-9]{2})([0-9]{2})([0-9]{2})([a-z]{2})\.(mp3)/' , $filename, $date);
ma ora mi da solo quelle del secondo e terzo tipo , escludendo il primo.io ne avrei bisogno di entrambe.
servirebbe qualcosa tipo una istruzione if??
grazie
solo..ehm... un'altra cosa ,per cortesia
alcuni file hanno anche am o pm alla fine della data,quindi:
30001-080118.mp3
30001-080119am.mp3
30001-080119pm.mp3
sono tutti formati validi.
la formula che mi hai dato mi fornisce ,giustamente , array con il primo tipo ,ma come fare se nella stessa lista di file esiste anche il secondo o terzo tipo? ho provato modificando cosi:
preg_match ('/([0-9]+)-([0-9]{2})([0-9]{2})([0-9]{2})([a-z]{2})\.(mp3)/' , $filename, $date);
ma ora mi da solo quelle del secondo e terzo tipo , escludendo il primo.io ne avrei bisogno di entrambe.
servirebbe qualcosa tipo una istruzione if??
grazie
Re: preg_match
Allora se le possibilità sono solo am, pm e niente puoi usare questa:
dove tra l'altro ho aggiunto per sicurezza ^ ad inizio stringa $ a fine stringa per indicare che appunto la stringa deve iniziare con l'inizio del match e la fine della stringa deve finire con la fine del match.
La pipe "|" indica l'operatore OR e mettendo (am|pm|) indica am, pm o nulla.
Altre alternative al posto di quest'ultimo pezzo erano:
Spero risolvi in questo modo... 
Codice: Seleziona tutto
preg_match('/^([0-9]+)-([0-9]{2})([0-9]{2})([0-9]{2})(am|pm|)\.(mp3)$/' , $filename, $date);La pipe "|" indica l'operatore OR e mettendo (am|pm|) indica am, pm o nulla.
Altre alternative al posto di quest'ultimo pezzo erano:
Codice: Seleziona tutto
.?.? //qualsiasi carattere 0 o 1 volta ripetuto due volte
[a-z]?[a-z]? // caratteri a-z 0 o 1 volta
[a-z]{2}| // due caratteri qualsiasi a-z oppure nulla
.* // qualsiasi carattere un numero qualsiasi di volte, avrebbe preso tutto tra l'ultimo numero e il punto di .mp3
ecc....
Volans
Prima di scrivere leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Prima di scrivere leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
-
mauriello72
- Prode Principiante
- Messaggi: 144
- Iscrizione: mercoledì 8 agosto 2007, 23:57
Re: preg_match
ottimo , funziona perfettamente , grazie.
avevo pensato anch'io all'oèeratore OR , ma non sapevo la sintassi corretta , grazie anche della lezioncina..
solo una cosa per il moderatore , se è il posto giusto. in questo topic richiesto di ricevere la notifica immediata , ma non ho mai ricevuto alcuna email. ci sono stati problemi? grazie
avevo pensato anch'io all'oèeratore OR , ma non sapevo la sintassi corretta , grazie anche della lezioncina..
solo una cosa per il moderatore , se è il posto giusto. in questo topic richiesto di ricevere la notifica immediata , ma non ho mai ricevuto alcuna email. ci sono stati problemi? grazie
Re: [Risolto] preg_match per ottenere la data dai file
Prego! 
Ho controllato e nel tuo profilo compare correttamente questa discussione tra quelle a cui sei iscritto per ricevere la notifica.
La notifica viene inviata solo per la prima risposta, poi finché non effettui il login sul forum e leggi la discussione non ti vengono inviate altre notifiche.
Dato che adesso sei offline per questo messaggio dovrebbe arrivarti la notifica, se non ti dovesse arrivare controlla anche se per caso non è finita nello spam per qualche motivo.
Ho controllato e nel tuo profilo compare correttamente questa discussione tra quelle a cui sei iscritto per ricevere la notifica.
La notifica viene inviata solo per la prima risposta, poi finché non effettui il login sul forum e leggi la discussione non ti vengono inviate altre notifiche.
Dato che adesso sei offline per questo messaggio dovrebbe arrivarti la notifica, se non ti dovesse arrivare controlla anche se per caso non è finita nello spam per qualche motivo.
Volans
Prima di scrivere leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Prima di scrivere leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
-
mauriello72
- Prode Principiante
- Messaggi: 144
- Iscrizione: mercoledì 8 agosto 2007, 23:57
Re: [Risolto] preg_match per ottenere la data dai file
grazie , tutto ok ora
Re: [Risolto] preg_match per ottenere la data dai file
Una possibile causa che può far sembrare che non funzioni è questa:
- ti arriva la mail di nuove risposte
- clicchi sul link
- leggi le risposte, ma senza loggarti sul forum
- qualcun altro risponde dopo.
In questo caso non ti arriva la notifica perché non avendo fatto il login il forum non sa che tu hai letto quelle risposte...
- ti arriva la mail di nuove risposte
- clicchi sul link
- leggi le risposte, ma senza loggarti sul forum
- qualcun altro risponde dopo.
In questo caso non ti arriva la notifica perché non avendo fatto il login il forum non sa che tu hai letto quelle risposte...
Volans
Prima di scrivere leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Prima di scrivere leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti
