Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Espressione regolare

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    952

    Espressione regolare

    Ciao, è possibile sostituire tutti i caratteri che non sono lettere con un altro, ad es spazio?

    Il problema è che devo ricevere stringe GET e POST e filtrare eventuali caratteri poco ortodossi (Injection, errori...).

    Credo servano le regexp...

    Spero di essere stato chiaro.

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    prova con:
    codice:
    $stringa="'ciao prova%";
    echo preg_replace("/[^a-zA-Z\ ]+/"," ",$stringa);
    think simple think ringo

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    952
    Grazie, provo e ti so dire

    Secondo te è sufficiente ad evitare la injection?

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    usa anche:
    http://it.php.net/manual/it/function...ape-string.php


    per eseguire un injection bisogna inoltre conoscere la struttura della query...
    think simple think ringo

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    952
    Ok.

    In questo caso è una banale ricerca.
    Spero sia sufficiente...

    Ciao e grazie.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    952
    Ho provato e funziona, ma sostituisce anche le lettere accentate, tipo à è é ù ì....

  7. #7
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Originariamente inviato da SMASH
    Ho provato e funziona, ma sostituisce anche le lettere accentate, tipo à è é ù ì....
    codice:
    $stringa="'ciao %&/(prova% accentòòòò";
    echo preg_replace("/[^[:alpha:]0-9\ ]+/"," ",$stringa);
    think simple think ringo

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    952
    Grazie, poi ho fatto così e funziona:

    $str=preg_replace("/[^[:alnum:]\ ]+/"," ",$str);

    P.s. Che figata ste regex

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.