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

    Problema con preg_match()

    Ciao ragazzi ho un problema cn la funzione preg_match nel controllo su una stringa.

    Ricevo dal form alcuni campi, nel controllare la validità del campo "nome"
    eseguo un controllo del genere:
    Codice PHP:
    if (preg_match ("/[^a-z 'àèìòù]/i"$nome))
        {
        
    $check_nome="Nome contiene caratteri NON validi.";
        }
        else
        {
        
    $check_nome="Nome contiene caratteri validi.";
        } 
    teoricamente lo script consente alla stringa "nome" caratteri dalla a-z/i , caratteri accentati, lo spazio e l'apice singolo ' .
    facendo un po di prove lo script funziona, se la stringa nome ha dei caratteri al di fuori di quelli specificati nel preg_match mi dice caratteri non validi.
    il problema è però il singolo apice, se il cognome è " D' Amato " mi dice caratteri non validi e non capisco perchè visto che comunque il singolo apice l ho incluso nella condizione dei caratteri ammessi...dove sbaglio?
    www.gicchesto.com
    Servizi informatici ed elettronici a 360° per aziende e/o privati.

  2. #2
    Se hai il magic quote attivato, o effettui un addslashes o altra funzione simile, la stringa che ricevi dal form ha lo \ di escape per l'apice.
    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

  3. #3
    Si ho i magic quotes attivi, quindi la stringa " D' Amato " viene vista in " D\' Amato" giusto? quindi devo toglierlo con uno stripslashes?
    www.gicchesto.com
    Servizi informatici ed elettronici a 360° per aziende e/o privati.

  4. #4
    Per prima cosa controlla il magic quotes come ha detto Magicale (e se lo hai attivo, disattivalo visto che è deprecato) poi per fare un preg sugli spazi ti conviene utilizzare questo:
    Codice PHP:
    if (preg_match("/\\s/"$myString)) {    
    // there are spaces 

    Cristian Giustini
    Web developer

    G&T Services (sito ripristinato)
    Per qualsiasi info/collaborazione contattatemi al seguente indirizzo:
    cristian.giustini@gtservices-online.com

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.