Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    aiutino espressione regolare caratteri accentati

    Salve ,

    Sto cercando di costruire una espressione regolare che se sono presenti caratteri accentati(àùìòè) li sostituisce con l'apostrofo tipo: a' e' i' u' o'.

    Ho provato così :

    ^[àèìùò\.\']+$

    ma non funge.

    qualcuno può aiutarmi .




  2. #2
    Forse ho impostato male il post.

    Ho questa espressione :

    ereg("[àèìùò\.']+$", $string);

    e mi restituisce vero, ossia se all'interno di string sono presenti uno o più caratteri tipo àìùòè allora è ok, se invece non sono presenti è false.

    bene, io vorrei impostare il contrario , ossia se all'interno di string sono presenti àèìùò allora ti restituisco il messaggio di errore.

    Spero di essere stato chiaro.

    qual'è il contrario di ereg("[àèìùò\.']+$", $string);

  3. #3
    beh al posto di fare
    Codice PHP:
    if (ereg....) 
    fai
    Codice PHP:
    if (!ereg....) 

    oppure non ho capito cosa vuoi fare



    una curiosità, perché hai messo anche il \. ? il . significa "ogni carattere" quindi ti restituirà sempre vero...
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  4. #4
    Alcuni moduli aggiuntivi di dreamweaver

    vedi: http://www.interaktonline.com/

    che è possibile installare su dreamweaver è possibile fare un controllo su i campi di un form utilizzando le espressioni regolari solo inserendo la regola .

    Tornando alla espressione reg.

    ho provato ad inserrire questa regola:

    [àèìùò] e in effetti ogni qualvolta che inserisco nel campo del form caratteri diversi da uno di questi èòàìù mi compare il messaggio di errore, e fino a quì è ok.

    Ma io vorrei l'inverso ossia che se all'interno del campo inserisco àèìùò o uno di questi caratteri mi compare il messaggio di errore.

    Ovviamente tutti i caratteri al di fuori di àèìùò sono ammessi.

    Sembra semplice ma non riesco a venirne a capo.

    Grazie

  5. #5
    Originariamente inviato da gianmaz
    ...
    Ma io vorrei l'inverso ossia che se all'interno del campo inserisco àèìùò o uno di questi caratteri mi compare il messaggio di errore.

    ...

    il modulo di cui parli non lo conosco, di solito il controllo dei form lo faccio costruendo le preg che mi servono a mano di volta in volta.


    tornando al tuo caso...se fai un semplice controllo così non ti funziona?
    codice:
    if (preg_match("#[àèéìòù]+#",$str))
    {
    	echo "controlla il campo!";
    }
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  6. #6
    Così non passa nulla , invece così :


    [àèìùò] mi da errore ogni qualvolta inserisco caratteri diversi da àèìùò.

    io vorrei invece errore se inserisco uno o più caratteri tipo àèìùò.

    Provo con !

  7. #7
    quello che ti ho postato io sopra è impossibile che non passi nulla...prima di postarlo lo testato con 2 stringhe diverse:
    con "La mamma è andata al mercato" -> stampa l'errore
    con "Bella giornata oggi" -> non stampa nulla


    :master:
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  8. #8
    In effetti la tua espressione è corretta ma evidentemente sul modello che ho io viene utilizzata una funzione che non vede il cancelleto e in ogni caso andare a mettere le mani sul quel file è per me abbastanza arduo.

    Ad ogni modo se faccio così

    :
    .[^àèéìòù]+$

    mi accetta tutti i caratteri al di fuori di quelli trà le quadre ma non risolve completamente il problema : esempi:


    se inserisco così :

    òàòòàòàò mi da errore ed è ok.

    se invece scrivo aADASDAD asssasaas èèèè asassass


    la fa passare e non è ok

    insomma se i caratteri accentati si trovano all'inizio o alla fine del testo da errore se invece si trovano in mezzo non da errore


    suggerimenti?

  9. #9
    così ho tolto i #, l'ho testato e funziona...

    se così non ti va mi dispiace ma non so che dire, ci sarà qualcosa che fa conflitto nel modello che utilizzi...


    codice:
    echo controlla("La mamma è andata al mercato");
    echo "
    \n";
    echo controlla("Ciao a tutti");
    echo "
    \n";
    echo controlla("è una bellissima giornata oggi!");
    echo "
    \n";
    echo controlla("guarda che bella sorpresa che c'è");
    
    function controlla($str)
    {
    	 $return="Test per la stringa: ".$str." - RESULT:";
    	 $return.=(preg_match("/[àèéìòù]+/",$str))?"errato":"corretto";
    	 
    	 return $return;
    }
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  10. #10

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.