PHP Regex et les espaces

Fermé
jeremieca Messages postés 178 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 16 mars 2015 - 14 juin 2009 à 22:20
 seb - 14 mars 2011 à 11:31
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

jeremieca Messages postés 178 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 16 mars 2015 28
15 juin 2009 à 12:04
Roh mais ça change absolument rien, c'est pas la question lol...
1
hamzafes Messages postés 243 Date d'inscription lundi 26 juin 2006 Statut Membre Dernière intervention 4 mai 2013 54
15 juin 2009 à 12:16
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
ktm620enduro Messages postés 293 Date d'inscription mardi 21 septembre 2010 Statut Membre Dernière intervention 12 mars 2013 38
21 sept. 2010 à 04:06
l'expression régulière est la suivante #[^ ]# ou #[^\s]# un "^" dans un délimiteur , c'est comme le "!" de php, le contraire.
1
pour ma part j'ai dû utiliser [^ ]
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
hamzafes Messages postés 243 Date d'inscription lundi 26 juin 2006 Statut Membre Dernière intervention 4 mai 2013 54
14 juin 2009 à 23:18
$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
0
jeremieca Messages postés 178 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 16 mars 2015 28
15 juin 2009 à 08:09
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
hamzafes Messages postés 243 Date d'inscription lundi 26 juin 2006 Statut Membre Dernière intervention 4 mai 2013 54
15 juin 2009 à 12:00
Pourquoi tu commences et tu termines avec un /.
D'après le lien ci-dessous on doit commencer et terminer par #

https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/917386-les-expressions-regulieres-partie-2-2#ss_part_4

Essais ça :
$code = preg_replace("#([^ ]+)(\[texte\])#", "'$1'", $code);


Allah mo3ine
-1