Siamo alle solite... ogni volta che devo estrarre un testo non ci capisco una mazza con 'ste regular_expression....
Qualcuno puo' darmi una mano?
Allora dato il testo:
io vorrei ricavare quei numerini li':codice:WS-C6506 Software, Version NmpSW: 7.2(2) Copyright (c) 1995-2002 by Cisco Systems NMP S/W compiled on Apr 25 2002, 12:37:52 System Bootstrap Version: 5.3(1) Hardware Version: 3.0 Model: WS-C6506 Serial #: TBA1234567899 PS1 Module: WS-CAC-1300W Serial #: ACP0xxxxxxx PS2 Module: WS-CAC-1000W Serial #: ACP0xxxxxxx Mod Port Model Serial # Versions --- ---- ------------------- ----------- -------------------------------------- 1 2 WS-X6K-SUP1A-2GE SAD0xxxxxxx Hw : 7.0 Fw : 5.3(1) Fw1: 5.4(2) Sw : 7.2(2) Sw1: 7.2(2) WS-F6020A SAD0xxxxxxx Hw : 2.0 2 48 WS-X6248A-TEL SAL0xxxxxxx Hw : 2.0 Fw : 5.4(2) Sw : 7.2(2) 3 48 WS-X6248A-TEL SAL0xxxxxxx Hw : 2.0
WS-C6506
e poi
TBA12345678999
Poi dopo mi servirà pure quei numerini SAD0xxxxxxx ovviamente abbinati al suo numero di fianco come WS-F6020A ma quello ci penso dopo.
Ora devo ricavare quei due:
WS-C6506
e poi
TBA12345678999
Allora ecco come ci ho provato:
(lo spazio fracodice:eregi("Model: (.+)Serial #:",$result,$mod); echo "$mod[1] ";
-->Model: (.+)<--
l'ho aggiunto ora per non far interpretare dal forum in; sul mio codice non c'e')
ed ecco cosa mi scrive:
Troppa grazia!codice:WS-C6506 Serial #: TBA1234567899 PS1 Module: WS-CAC-1300W Serial #: ACP0xxxxxxx PS2 Module: WS-CAC-1000W
A me serve solo la prima riga anzi in questo caso solo i primi 8 caratteri (si, lo so, potrei spezzarlo con substr() ma alcune file di testo sorgenti potrebbero avere + di 8 caratteri!)
Dove sbaglio?
cioe' perchè mi da cosi' tanto?
Altra cosa.
I miei file sorgenti da lavorare hanno dei CR (ritorni a capo) e sono sempre ben formattati per far apparire nello stesso posto le stesse info.
Non è possibile fare una ricerca di contenuti tipo tramite posizione x e y nel testo?
Cioè io so per certo che alla riga 10 alla posizione 37 c'e' una parola che mi interessa. Con le reg_expr o con altro metodo non posso estrarre direttamente da li'?
Grazie a tutti per la pazienza ed attenzione!


; sul mio codice non c'e')
Rispondi quotando