Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    109

    [PHP] Controllo spazi vuoti

    Volevo sapere voi come gestite il controllo su un campo nel caso una persona inserisca degli spazi vuoti ad esempio in un commento... ho provato con un semplice trim(), ma se per esempio si inseriscono 3 spazi vuoti il comando risulta inutile, qualcuno ha una soluzione elegante per questo tipo di controllo?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    $stringa = preg_replace('#[ ]{2,}#', ' ', $stringa);

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    109
    Grazie nicola, ma questa codice non sembra proprio funzionare... ripeto il trim mi rimuove i 2 spazi all'inizio e alla fine ma se metto anche solo uno spazio in più e faccio un controllo del tipo:

    $comment=trim($_POST['comment']);

    if($comment==""){

    echo "il campo commento è vuoto";
    }else{

    echo "ok";
    }


    il campo risulta compilato e il controllo quindi non è efficace, vorrei che verificasse che il campo non sia compilato solo da spazi vuoti...

  4. #4
    Originariamente inviato da intrigo

    il campo risulta compilato e il controllo quindi non è efficace, vorrei che verificasse che il campo non sia compilato solo da spazi vuoti...
    difficile capire che intendi dire e cosa vuoi ottenere....

    if($comment == ""){

    if ti risponde con un TRUE... e' vero cioe' e' vuoto.

    prova a metterci quello spazio che ritieni non venga cancellato da TRIM()

    if($comment == " "){

    e riceverai un bel FALSE.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    109
    Allora credo di aver capito la causa anche se ancora non ho risolto il problema... il fatto è che questo commento viene passato da una textarea di FCKeditor, e me ne sono accorto solo ora... qualcuno che magari usa FCKeditor sà magari il motivo per cui succede questa cosa? Ringrazio nicola e piero comunque... la "svista" era mia

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    109
    Ok mi rispondo da solo e do la soluzione

    Allora essendo che il campo viene compilato da FCKeditor lui inserisce automaticamente i tag

    </p> e in più sostituisce gli spazi con &nbsp quindi quando lo filtravo non risultava vuoto.

    Ora quindi prima di fare il controllo faccio una pulizia dei tag html e la sostituzione degli spazi, se poi il campo risulta veramente vuoto mostro l'errore altrimenti considero il campo compilato e gli passo la variabile originale.

    Ho fatto una cosa di questo tipo per pulire la variabile prima di controllarla, mi dite se va bene o c'è un modo più elegante:

    $comment = trim($_POST['comment']);
    $comment_control = str_replace("","",strip_tags($comment));

    Grazie

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.