Visualizzazione dei risultati da 1 a 9 su 9

Discussione: problema con ereg

  1. #1

    problema con ereg

    ciao a tutti scusate ma forse mi sto perdendo in una stupidata...

    in pratica dovrei modificare questa ereg [^a-zA-Z0-9_-]

    e permettere anche l'inserimento delle parentesi quadre [] pero' nn riesco.... provo anche mettendo davanti il carattere escape \[\] ma nada nn funge...

    sapete come devo scriverla per permettere l'inserimento di questa stringa? "[prova]"..


    tnx

  2. #2
    [^a-zA-Z0-9_-\[\]]

    deve diventare cosi

    ma ti conviene invertirla e fare una preg_match, che sono più leggere, veloci ed efficenti...e fare cosi

    if ( ..... && !preg_match('/$[a-z0-9_\[\]-]^/i', $testo)) { ....

    le quadre bisogna backslashiarle senno le prende come carattere di chiusura\apertura gruppo
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #3
    grazie della risposta ma purtroppo mettendo il carattere di escape e' come se mi annullasse la reg...

    ovvero ho

    preg_match('/$[a-z0-9_\[\]-]^/i',$username)

    e mi prende qualsiasi carattere presente nella variabile $username

    ad esempio accetta { accetta * accetta } tutti i caratteri....

    mentre io dovrei fare che possa inserire qualsiasi lettera, qualsiasi numero e oltre a questi i caratteri _-[]


  4. #4
    up

    nessuno sa risolvere?

  5. #5
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Prova così, dovrebbe funzionare...
    Codice PHP:
    [FONT=courier new][SIZE=2]<?php
    //recupera i dati dal form ed elimina gli eventuali
    //spazi vuoti all'inizio e alla fine del testo inserito
    $username trim($_POST['username']);

    //accetta lettere, numeri e questi caratteri: _ - [ ]
    $check_username preg_match("/^[a-z0-9_\\-\\[\\]]/i"$username);
    ?>[/SIZE][/FONT]

  6. #6
    ti sei scordato il $ alla fine

    se non lo metti non è pienamente funzionante l'espressione regolare
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  7. #7
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Hai ragione! è che prima non l'avevo provata...
    Codice PHP:
    [FONT=courier new][SIZE=2]<?php
    //così dovrebbe andare meglio...
    $check_username preg_match("/^[a-z0-9_\\-\\[\\] ]+$/i"$username);
    ?>[/SIZE][/FONT]

  8. #8
    xfetto grazie mille funziona benissimo

  9. #9
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    ...prego, ma è merito di daniele_dll :boss: se l'ho rivista e adesso funziona!

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.