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

    [RegExp]Funziona in Js, ma non in php!

    Ciao a tutti,
    sto verificando con una regexp la sintassi delle cartelle e in js ho fatto questa funzione

    //FUNZIONE JAVASCRIPT

    /*
    *questa funzione controlla la sintassi della cartella
    *non può contenere \/:*?"'<>|
    *
    *@param string folder nome della cartella da analizzare
    *@return bool true in caso di successo o false in caso di errore
    */
    function VerificaFolder(folder)
    {

    if(!folder){return false;}
    var reg = new RegExp(/[^\\\/:\*\?\"\'\<\>\|]*/);
    if(reg.exec(folder)==folder)
    {return true;}
    else
    {return false;}
    }
    la reg php è
    /[^\\\/:\*\?\"\'\<\>\|]*/

    scusate ma non la scriveva bene...

    la stessa cosa deve avvenire lato server e quindi rifaccio la funzione

    Codice PHP:
    function VerificaFolder($Folder=false)
        {
        if(isset(
    $Folder))
            {
            if(
    preg_match("/[^\\\/:\*\?\"\'\<\>\|]*/",$Folder))
                {echo 
    "OK";return true;}
                else
                {echo 
    "NO1";return false;}
            }else{echo 
    "NO2";return false;}        
        }
    echo 
    VerificaFolder($_GET["Folder"]); 
    in get passo

    http://www.miodominio.it/test.php?Folder=folder1.2\*


    risposta Warning: Unknown modifier ':' in ....la linea del preg_match

    cosa si è fuso nella mia capa??

  2. #2
    preg_match non digerisce / anche se si mette \/, quindi ho usato ereg...

  3. #3
    Utente di HTML.it L'avatar di M4rko
    Registrato dal
    Dec 2000
    Messaggi
    619
    il / è il delimitatore, ossia il carattere che delimita la regexp, ossia quello che compare SOLO all'inizio e alla fine.. non all'interno della regexp (anche se fai l'escape)

    prova a cambiare il delimitatore, usando ad esempio il carattere cancelletto ( # ) e continua pure ad usare le funzioni preg* (piu performanti delle ereg*)

    Tutti hanno bisogno di credere in qualcosa.
    Io credo che mi farò un'altra birra.


  4. #4
    posso cambiare da /.../ in #...# ?

  5. #5
    Utente di HTML.it L'avatar di M4rko
    Registrato dal
    Dec 2000
    Messaggi
    619
    Esattamente, purchè # non compaia all'interno della regexp (come nel tuo caso)
    Tutti hanno bisogno di credere in qualcosa.
    Io credo che mi farò un'altra birra.


  6. #6
    mai visto..mi dici come..te lo chiedo xchè giuro non mi è mai passato davanti agli occhi e non sono dove cercarlo nei manuali..

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.