Quindi ecco la mia situazione, e la soluzione che ho trovato per risolvere il problema. Ho creato un'applicazione che include TinyMCE per consentire agli utenti di creare contenuti HTML per la pubblicazione. L'utente può includere immagini nel loro markup e trascinare/ridimensionare quelle immagini che influiscono sugli attributi finali di larghezza/altezza nel tag IMG. Tutto questo è fantastico, gli utenti possono includere immagini e ridimensionarle/trasferirle nell'aspetto desiderato. Ma un grosso problema è che ora sto inviando un'immagine (possibilmente) molto più grande al client, solo per fare in modo che il browser ridimensioni l'immagine negli attributi Width/Height richiesti. Tutta la larghezza di banda e il tempo di caricamento perduto ....Regex per generare miniature!?!?! (ma è pazzesco!)
Quindi la mia soluzione è pre-elaborare il mio contenuto di markup degli utenti, scansionare tutti i tag IMG e analizzare gli attributi Height/Width/Src. Quindi imposta ciascun tag SRC di img su una richiesta phpThumb con l'altezza/larghezza analizzata passata nell'URL delle miniature. Questo creerà la mia immagine di dimensioni ridotte (ottimizzando la larghezza di banda a scapito della CPU e della cache). Cosa ne pensi di questa soluzione? Ho visto altri post in cui le persone stavano usando mod_rewrite per fare qualcosa di simile, ma voglio influenzare il contenuto del servizio di pagina e non manipolare le richieste di immagine mentre vengono ricevute. .... Qualche idea su questo design?
Ho bisogno di aiuto con i dettagli precisi in quanto le mie abilità regex richiedono un po 'di lavoro, ma sono molto in ritardo e prometto di pagare presto il mio debito di conoscenze tecniche. Per rendere più facile l'espressione regolare, posso essere sicuro di alcune cose. Solo i tag img che richiedono questa elaborazione avranno gli attributi width = "" height = "" esistenti (con virgolette doppie e testo minuscolo, ma suppongo che la corrispondenza tra maiuscole e minuscole del testo sarebbe migliore se TinyMCE cambia)
Quindi una regex per abbinare solo i tag Img necessari e forse altri tre regex per estrarre src, larghezza e altezza?
Grazie a tutti.
Hai considerato l'utilizzo di un parser HTML? O non è un'opzione? – pinkgothic
Concordo, scegliendo regex si sta aggiungendo un'incertezza significativa al progetto. Potrebbe rivelarsi un po 'più veloce da implementare rispetto a una soluzione procedurale, o potrebbe essere molto, molto, molto più lento (supponendo che si iniettino problemi che sono catturati nel QA o dagli utenti) Almeno una soluzione codificata procedurale è limitata. –