PHP Regex et les espaces [Fermé]

Signaler
Messages postés
178
Date d'inscription
lundi 9 juillet 2007
Statut
Membre
Dernière intervention
16 mars 2015
-
 seb -
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

Messages postés
178
Date d'inscription
lundi 9 juillet 2007
Statut
Membre
Dernière intervention
16 mars 2015
28
Roh mais ça change absolument rien, c'est pas la question lol...
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 56787 internautes nous ont dit merci ce mois-ci

Messages postés
243
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
4 mai 2013
53
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 56787 internautes nous ont dit merci ce mois-ci

Messages postés
293
Date d'inscription
mardi 21 septembre 2010
Statut
Membre
Dernière intervention
12 mars 2013
32
l'expression régulière est la suivante #[^ ]# ou #[^\s]# un "^" dans un délimiteur , c'est comme le "!" de php, le contraire.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 56787 internautes nous ont dit merci ce mois-ci

pour ma part j'ai dû utiliser [^ ]
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 56787 internautes nous ont dit merci ce mois-ci

Messages postés
243
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
4 mai 2013
53
$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
Messages postés
178
Date d'inscription
lundi 9 juillet 2007
Statut
Membre
Dernière intervention
16 mars 2015
28
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);
Messages postés
243
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
4 mai 2013
53
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