Interdire 2 espaces consécutif dans input

Résolu
Bonjour,
je bloc sur un petit truc, donc je fait appel à votre aide svp:

Dans un champ input de type text, je souhaite interdire 2 espaces consécutif.
Je pensais que ceci est faisable avec preg_match, j'ai essayé ceci:
if(!preg_match("#^[ ]{2,1000}$#",$texte)) {
	OK...
}
else {
	Erreur...
}

Mais sans succès.
Y-a t-il une solution?

Merci beaucoup

2 réponses

  1. Salut, sans trop t'en dire va voir du coté de trim ;) !

    dis moi quoi ! :)
    1. merci,
      mais trim supprime les espaces en début et fin de chaine de caractères.
      Donc ça ne résous pas mon problème.

      Ce que je veut c'est autoriser un espace, exemple:
      text bla bla

      Et surtout interdire 2 espaces consécutifs

      merci
      1. Alors à ce moment là fait une recherche dans ta chaine et si tu as plus de deux espaces tu lui envoie une erreur
      2. ok merci. mais comment faire ceci? car je débute, et j'ai fais pas mal de recherche dans Google. Mais je n'ai pas trouvé la solution.
        Merci.
      3. @13stephweb13Bonsoir,
        Pas la peine d'interdire, il suffit de traiter dans le script PHP la chaîne reçue pour supprimer les espaces en trop, ça évite des allers/retours entre l'utilisateur et le serveur inutilement. Ainsi tu peux utiliser la chaîne nettoyée pour ton but final (insertion en bdd, envoi mail, etc...) :
        <?php
        /* Enlève les espaces en trop (double espaces, triple espaces, etc...) */
        $string = "Voici  une  chaîne  qui  comporte  2  espaces  consécutifs.";
        $string = preg_replace("/\s+/", " ", $string);
        echo $string; // Pour le test
        ?>

        Cordialement.
      4. ok merci