(Posto in PHP, anche se è una discussione più generale).
Mi piacerebbe realizzare una versione ottimizzata per la stampa del mio sito, con il tradizionale link a forma di stampante messo in cima ad ogni pagina: cliccando, vorrei che la pagina normale si trasformasse in una pagina pronta per essere stampata, quindi ovviamente nero su bianco e - soprattutto - togliendo i menu di navigazione. Ci sono due modalità per realizzare quello che voglio:
CSS: mi faccio un css con media="print", studiato in modo tale da avere le caratteristiche dette sopra. Problema: Avrei bisogno di un sistema (JavaScript?) che mi permetta di passare dallo stile tradizionale a quello per la stampa quando l'utente clicca sul link a forma di stampante.
PHP: genero dinamicamente una pagina appositamente studiata che prende i contenuti dal "referer" e li presenta nel modo voluto, con la possibilità di togliere (eregi_replace) brutalmente le cose che non voglio vedere (ad esempio le immagini non essenziali). Problema: ho sperimentato questa soluzione, ma non mi fa impazzire perché se la pagina generata via php non è in grado di rispettare i vari collegamenti relativi, e poi presenta dei problemi ad esempio con i form (se ho action="xxx.php", essendo xxx.php un link relativo, se si trova in un'altra cartella il form non va). Chiaramente se la versione per la stampa è usata solo per ciò che è, il problema non sussiste; però sono un perfezionista e la prima soluzione mi sembra migliore, perché anche nella versione per la stampa i collegamenti sono perfettamente fruibili.
Voi cosa mi consigliate? Esistono altre possibilità che mi sfuggono?