PHP Regex et les espaces

Bonjour,
Comment dire en PHP au niveau des regex

"Tout sauf espace"

Je dois reconnaitre ceci :

$code = preg_replace("/(.+)(\[texte\])/", "'$1'", $code);

Sans espace dans le premier (.+)

Merci d'avance,
JC.

7 réponses

  1. l'expression régulière est la suivante #[^ ]# ou #[^\s]# un "^" dans un délimiteur , c'est comme le "!" de php, le contraire.
    1. Je viens de tester le code ci-dessous et ça marche:

      $text="je viens de tester le code ....";
      echo $text;
      echo preg_replace('#[^ ]+#','_',$text);

      Tout les espaces sont remplacés par _
      1. Roh mais ça change absolument rien, c'est pas la question lol...
        1. Lol justemement non O.o C'est bien ça mon problème... En fait, j'ai même essayé avec l'équivalent d'un espace en regex à savoir [\s] mais rien à faire ! Help me !

          $code = preg_replace("/([^\s]+)(\[texte\])/", "'$1'", $code);
          1. $code = preg_replace("/([^ ]+)(\[texte\])/", "'$1'", $code);

            Remarque l'espace juste aprés le ^

            De façon général pour dire tout sauf un caractère X tu écris [^X]

            Allah m3ine