Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Errore con htmlentities
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • L
      liamuscogiuri User Attivo • ultima modifica di

      Errore con htmlentities

      Salve a tutti!

      Ho fatto un form per la registrazione e ora dovrei convertire i dati immessi dall'utente con l'htmlentities().
      Ho, però, due problemi: il primo è che quando stampo a video $_POST['nome'], nel caso in cui ci sia l'apicetto ' lui automaticamente aggiunge prima il carattere di escape \ senza che io l'abbia deciso da qualche parte. Si può modificare questa cosa?
      Il secondo problema è, invece, che non mi funziona l'htmlentities: praticamente non mi riconosce correttamente i caratteri immessi. Se, per esempio, inserisco 'à' lui me lo traduce con 'à' che è invece 'à ' e non so perché.
      Qualcuno sa cosa devo fare?
      Grazie mille!

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • S
        sups User Attivo • ultima modifica di

        Per rimuovere il backslash puoi usare questa funzione:

        [php]
        function unhtmlentities($string)
        {
        $string = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\1"))', $string);
        $string = preg_replace('~&#([0-9]+);~e', 'chr("\1")', $string);
        $trans_tbl = get_html_translation_table(HTML_ENTITIES);
        $trans_tbl = array_flip($trans_tbl);
        return strtr($string, $trans_tbl);
        }
        [/php]

        Il problema di conversione dei caratteri forse è dovuto ad un'errata codifica dei dati nella pagina di invio, prova ad utilizzare UTF-8.

        [html]
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        [/html]

        Ciao!

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • L
          liamuscogiuri User Attivo • ultima modifica di

          C'è già la codifica UTF-8 ma converte tutti i caratteri in modo strano, non corrispondenti a quelli reali...

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • S
            sups User Attivo • ultima modifica di

            Prova in questo modo:

            htmlentities($stringa, ENT_COMPAT, "UTF-8");

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • L
              liamuscogiuri User Attivo • ultima modifica di

              perfetto! ora funziona!
              però quando faccio l'html_entity_decode mi mostra i quadratini al posto delle lettere accentate...

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • S
                sups User Attivo • ultima modifica di

                Imposta anche html_entity_decode con la codifica UTF-8.

                html_entity_decode($stringa, ENT_COMPAT, "UTF-8");

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • L
                  liamuscogiuri User Attivo • ultima modifica di

                  Wow, funziona!!!
                  Grazie infinite!!!

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • S
                    sups User Attivo • ultima modifica di

                    Prego! 🙂 :ciauz:

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    Caricamento altri post
                    Rispondi
                    • Topic risposta
                    Effettua l'accesso per rispondere
                    • Da Vecchi a Nuovi
                    • Da Nuovi a Vecchi
                    • Più Voti