PDA

View Full Version : [PHP] Riconoscere estensione jpg ancora


starmar
22-09-2011, 11:04
Save, ho creato un script php che funge da semplice crawler, vorrei migliorarlo escludendo lo scaricamento di eventuali immagini ancorate ( vedi "clicca qui per ingrandire"), ho provato tramite strcmp con offset e prendendo gli ultimi 4 caratteri, ma non funziona. COme posso fare ?? Idee? Ho provato anche la funzione che dato un file riconosce l'estensione, ma con gli url non funziona...

SerMagnus
22-09-2011, 11:47
la soluzione c'è e sichiama: regex!
con preg_match_all le estrai tutte velocemente.
il pattern è relativamente semplice, basta che cerchi tutte le stringhe che iniziano con http:// e finiscono con .jpg o jpeg, basta una googlata

volendo essere pignolo potresti anche affinare il pattern di ricerca filtrando cercandolo solo tra gli attributi src oppure, meglio ancora, nel tag img

starmar
22-09-2011, 12:15
HO usato una regex per riconoscere tutti coloro che iniziano con http, ed ho trovato questo , ma nono soo affatto pratico di regex, questa puo andare?


$pattern = "/src=[\"']?([^\"']?.*(png|jpg|gif))[\"']?/i";
preg_match_all($pattern, $data, $images);


tenete conto che ho già strippato tutti coloro che iniziano con http (per eliminare javascript) quindi andrebbe bene anche questa , se effettivamente mi prende solo le immagini..

SerMagnus
22-09-2011, 13:06
a "occhio" sembra buona

starmar
23-09-2011, 10:28
Qualcun altro?