Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di *pragma
    Registrato dal
    Sep 2001
    Messaggi
    1,087

    controllare indirizzo web inserito in input

    salve,
    voglio processare un indirizzo web, passato per input type="text", per filtrarne la correttezza.
    I risultati che voglio raggiungere sono i soliti per avere un corretto indirizzo. I problemi sono questi:
    - Se l'indirizzo termina con un numero (es. www.tye43.com) non l'accetta.
    - La variabile $no vorrei inserirla nell'ereg (es. così dov'è commentata), ma mi dà errori di sintassi.
    A prescindere da tutti i controlli sull'input ecco il codice:
    codice:
            $indir4 = $_POST['indir'];
            $no = "\|!\"£$%&/)(=?'\^ìèé*+òç@à°#ù§;.-:><€ ";
    if(ereg("www\.[^_@0-9\|!\"£$%&/)(=?'\^ìèé*+òç@à°#ù§;.-:><€ ][a-zA-Z0-9_]+[^\|!\"£$%&/)(=?'\^ìèé*+òç@à°#ù§;.-:><€ ]+\.[^@\.0-9\|!\"£$%&/)(=?'\^ìèé*+òç@à°#ù§;.-:><€ ]+$", $indir4)) {
    //  if(ereg("www\.[^_0-9". $no ."-][a-zA-Z0-9_]+[^". $no ." ]+\.[^". $no ."]+$", $indir4)) {
            $link4a = "".$indir4."";
                       echo $link4a;
        } else { echo "
    Qualcosa"; }
    Non riesco ad inserire le quadre nell'ereg (quadre da non accettare sia all'inizio che nel mezzo che nell'estensione dell'indirizzo).

    Qualcuno sa darmi consigli e/o spiegarmi le soluzioni.
    grazie
    ciao

  2. #2
    Utente di HTML.it L'avatar di *pragma
    Registrato dal
    Sep 2001
    Messaggi
    1,087
    ho risolto così:
    codice:
                    $indir4 = $_POST['indir'];
       define("no", "\|!\"£$%&/)(=?'\^ìèé*+òç@à°#ù§;,.-:><€ ");
     if(ereg('^www\.[^_0-9 '.no.'][a-zA-Z0-9_]+\.[^_'.no.']+$', $indir4)) { 
    $link4 = eregi_replace($indir4, "". $indir4 ."", $indir4);
            echo($link4);
        } else { echo "
    Qualcosa"; }
    funziona bene.
    Non riesco a capire perchè negli indirizzi web non accetta le quadre (e fa bene a non accettarle) quando non sono riuscito ad inserire nell'ereg la negazione delle quadre.
    grazie

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    non ho analizzato la tua espressione, ma se non accetta le quadre e non le hai escluse esplicitamente, allora nelle prove che hai fatto hai "violato" qualche altra regola (es.: magari provo con "[]" e viene violata una regola ipotetica che prevede più di due caratteri...)

  4. #4
    Utente di HTML.it L'avatar di *pragma
    Registrato dal
    Sep 2001
    Messaggi
    1,087
    so bene di aver violato qualche regola, infatti chiedo proprio dove l'ho violata!
    La costante è diventata
    define("no", "\|!\"£$%&/)(=?'\^ìèé*+òç@à°}{ #ù§;,.-:><€ ");

    ma le quadre niente!

    10 minuti dopo:
    interessante questo articolo sulla programmazione:
    http://php.html.it/articoli/leggi/32...r-functions/3/

    ma vorrei sempre capire dove è il mio errore!

  5. #5

  6. #6

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.