Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    stampare a video il codice sorgente4 di una pagina

    Ciao a tutti!! io ho creato una minimissima web application per creare una newsletter..mi servirebbe alla fine della sua creazione che l'utente potesse vedere il codice sorgente di quella pagina (creata in php), in modo che poi la potesse modificare o comunque copiare e incollare su un qualsiasi editor..evitando che debba andare su "codice sorgente" nelle opzioni del browser per vedere il codice sorgente..

    io ho creato una text area in cui con il comando "echo", stampo li dentro tutto il codice..
    si vede..il problema è che i caratteri accentati òàùè, non me li visualizza come à ò ,etc...anche se in realtà nel codice sorgente è così..questo perchè lui le trasforma (con sub_string)e diventano appunto òàùè...come posso fare??

    GRAZIE in anticipo

  2. #2
    Scusami, ma in cosa è che te le trasforma? Da quel che ho capito rimangono sempre uguali..
    "Non pretendo di aver ragione,..ma quantomeno di esser preso in considerazione.."

  3. #3
    Ti sei spiegato malissimo.. che c'entra substr? Forse intendi str_replace?

  4. #4
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    porva ad usare
    Codice PHP:
    <textarea name="pippo"><?php echo htmlentities($stringa,ENT_QUOTES?></textarea>
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  5. #5
    Originariamente inviato da dottwatson
    porva ad usare
    Codice PHP:
    <textarea name="pippo"><?php echo htmlentities($stringa,ENT_QUOTES?></textarea>
    grazie innanzitutto...ho provato..c'è un problema però..quando metto htmlentities, mi trasforma i caratteri in cose tipo ’ , Ã, ò, è, etc..qual'è il problema?

    Mi spiego meglio da capo..Per far creare la newsletter, utilizzo tot moduli di numero variabili, in cui l'utente scrive come vuole caratteri tipo ' " ò à ù è, questi poi nel risultato finale li devo convertire usando str_replace, altrimenti vedrei cose come ’ , Ã, ò, è, etc..e fin qui funziona tutto anche dalla parte codice, in quanto i caratteri come ò,à,ù,è, vengono visualizzati nel codice come
    Codice PHP:
    &ograve; &agrave; &ugrave
    etc..

    all'utente, dopo aver composto la newsletter, serve di copiare il codice del risultato finale per poterlo mettere in joomla..quindi se ad esempio in firefox schiaccia ctrl+U e copia il codice e lo incolla, tutto ok..

    però io volevo evitare di fargli schiacciare ctrl+U e fargli visualizzare in una text area il codice della pagina finale..ora io non so come fare questo forse..infatti ho creato una textarea dove ho copiato e incollato dentro il codice della pagina finale..solo che i caratteri speciali qui, me li visualizza così: ' " ò à ù è..mentre a me serve che venissero fuori sottoforma di
    Codice PHP:
    &ograve; &agrave; &ugrave
    etc..
    Anche perchè almeno potrei fare in modo che se vuole può fare delle modifiche nel codice e ricalcolare la newsletter...
    Quindi come posso fare?

    GRazie mille per la pazienza

  6. #6
    grazie innanzitutto...ho provato..c'è un problema però..quando metto htmlentities, mi trasforma i caratteri in cose tipo ’ , Ã, ò, è, etc..qual'è il problema?
    Il problema è che lo scopo delle entità html è appunto quello di mostrare dei caratteri speciali e/o lettere accentate senza dare problemi al parser (per esempio i caratteri < e > che altrimenti aprirebbero un tag html).

    Non c'è modo di mostrare le entità senza che vengano automaticamente tradotte o, almeno, non se l'output è HTML.

    Semplicemente fai in modo che l'utente possa scaricare la parte di sorgente interessata:
    http://php.html.it/guide/lezione/2666/accedere-ai-file/

    Nel tuo caso non serve nemmeno creare il file sul server, basta che metti un form che manda ad uno script tipo scarica-sorgente.php?id=id_sorgente (ovviamente ti serve un database dove mettere momentaneamente il sorgente dell'utente), in quella pagina usi una funzione del genere per forzare il download:
    http://www.phpit.net/code/force-download/

    poi fai una cosa del genere:
    Codice PHP:
    $sql mysql_query("SELECT sorgente FROM utenti_newsletter WHERE id = '" $_GET['id'] . "'");
    $sorgente mysql_result($sql00);

    force_download($sorgente,'iltuosorgente.htm','',false); 
    Non mi sono spiegato benissimo ma è semplice.

  7. #7
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    il problema è a monte, nel database non vengono salvati correttamente e quindi anche con l ' htmlentities nulla appare.... è il charset di interrogazione SQL
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  8. #8
    io non ho usato nessun database in questo caso...posso continuare a nn farlo?nn c'è un metodo + semplice x mostrare una cagata di codice?

  9. #9
    Originariamente inviato da knifekiller
    io non ho usato nessun database in questo caso...posso continuare a nn farlo?nn c'è un metodo + semplice x mostrare una cagata di codice?
    allora fallo senza database e fai passare i dati via POST.

    Scusa ma devo spiegarti tutto io? Un pò di "ingegno" no?
    Però vorrei capire come fai a fare una newsletter senza database.. spero tu non tenga i dati in un file di testo...

  10. #10
    Originariamente inviato da dottwatson
    il problema è a monte, nel database non vengono salvati correttamente e quindi anche con l ' htmlentities nulla appare.... è il charset di interrogazione SQL
    Non ho mai avuto problemi con MySQL.
    Se parli della codifica, ho lo stesso identico problema con htmlentities, ho provato a cambiare codifica a iso, ad utilizzare utf8_decode ma niente, htmlentities non rispetta la codifica, mi mostra le lettere accentate così:
    à èìù
    oltretutto ho dovuto impostare default_charset di php su utf-8 altrimenti era anche peggio.
    Se trasformo manualmente i caratteri speciali in entità tramite str_replace non ho problemi.. è la translation table di htmlentities che è sbagliata

    Se hai qualche idea in proposito...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.