Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [PHP] Problema addslashes dopo FILTER_SANITIZE_STRING

    Buonasera,

    probabilmente sono cotto, ma le cose non mi tornano, provate a fare quanto segue:

    Codice PHP:
    $pippo_1 "L'Aquila";

    $pippo_2 filter_var($pippo_1FILTER_SANITIZE_STRING);

    $pippo_3 addslashes($pippo_2);

    echo 
    $pippo_3

    Mi aspetterie di vedermi a video: L'\Aquila, ma invece no!

    Se provate a non usare filter_var ...

    Codice PHP:
    $pippo_1 "L'Aquila";

    $pippo_3 addslashes($pippo_1);

    echo 
    $pippo_3

    ...funziona tutto normalmente.

    Voi sapete dirmi perchè accade tutto ciò?

    Grazie

  2. #2
    Forse perche' traduce l'apostrofo in valore html cioe' encode special character

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Quote Originariamente inviata da piero.mac Visualizza il messaggio
    Forse perche' traduce l'apostrofo in valore html cioe' encode special character
    Ciao Piero,

    in effetti è quello che pensavo anche io, altrimenti non si spiega, oltrettutto fallisce anche l'utilizzo di altre funzioni che manipolano le stringhe escluso per esempio trim.

    Alla fine, la soluzione che ho trovato è questa:

    Codice PHP:
    $variabile_ripulita filter_var($variabileFILTER_SANITIZE_STRINGFILTER_FLAG_NO_ENCODE_QUOTES); 

    Proprio per il motivo di prima, non encodando le "quotes" , la cosa funziona, perchè sembrerebbe che la cosa si ripercuota solo su singoli e doppi apici, tutto il resto viene eliminato a priori, in teoria come htmlspecialchars.

    Alla fine guardando su php.net e facendo due test, la cosa dovrebbe essere così.

  4. #4
    yes, I do

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.