Navigazione

  • CATEGORIES
  • Discussioni
  • Non letti
  • Recenti
  • Hashtags
  • Popolare
  • Utenti
  • Registrati
  • Accedi
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 • 4 dic 2009, 10:42 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
      Caricamento altri post
      Rispondi
      • Topic risposta
      Effettua l'accesso per rispondere
      • Da Vecchi a Nuovi
      • Da Nuovi a Vecchi
      • Più Voti
       

    • S
      sups User Attivo • 4 dic 2009, 13:47 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 • 4 dic 2009, 13:51 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 • 4 dic 2009, 14:02 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 • 4 dic 2009, 14:16 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 • 4 dic 2009, 14:26 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 • 4 dic 2009, 14:42 ultima modifica di

                Wow, funziona!!!
                Grazie infinite!!!

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • S
                  sups User Attivo • 4 dic 2009, 14:44 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