Supprimer les espaces [Résolu]

Messages postés
50
Date d'inscription
vendredi 29 octobre 2004
Dernière intervention
12 juillet 2005
- 8 juil. 2005 à 21:27 - Dernière réponse :
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
- 2 mars 2006 à 21:22
Bonsoir,

Je cherche à supprimer les espaces dans une recherche faite par un formulaire.
Ce sont des noms de famille qui peuvent être en 2 ou 3 morceaux qu'il faudrait réunir.
J'ai trouvé une question à ce sujet sur le forum mais les solutions proposées ne fonctionnaient pas.

Quelqu'un a une idée ?
Afficher la suite 

Votre réponse

15 réponses

Meilleure réponse
Messages postés
21
Date d'inscription
vendredi 16 avril 2004
Dernière intervention
3 juillet 2006
10 juil. 2005 à 23:06
3
Merci
preg_replace ('/\s/','',$var)

J'ai vérifié, ça marche.

Merci w_minisplash_w 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de w_minisplash_w
Messages postés
128
Date d'inscription
mardi 11 mai 2004
Dernière intervention
12 août 2005
8 juil. 2005 à 21:57
0
Merci
Bonsoir,



str_replace je pense.
Commenter la réponse de cs_lotr
Messages postés
50
Date d'inscription
vendredi 29 octobre 2004
Dernière intervention
12 juillet 2005
8 juil. 2005 à 22:59
0
Merci
Malheureusement non, à moins que le caractère "espace" corresponde à un terme que je ne connais pas ? Ainsi que "rien" ?

En tous cas comme ça ça ne marche pas :
str_replace(' ','',$_POST['recherche']);


$_POST['recherche'] est bien sûr la requête de mon formulaire.
Commenter la réponse de cs_malaysia
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
9 juil. 2005 à 10:57
0
Merci
Hello,



$_POST['recherche'] = str_replace(' ','',$_POST['recherche']);



sinon en effet ca ne marchera pas.
Commenter la réponse de malalam
Messages postés
50
Date d'inscription
vendredi 29 octobre 2004
Dernière intervention
12 juillet 2005
9 juil. 2005 à 13:00
0
Merci
C'est ce que j'ai fait, j'ai juste retiré le nom de la variable dans mon message précédent. Mais ça ne marche par.
Commenter la réponse de cs_malaysia
Messages postés
21
Date d'inscription
vendredi 16 avril 2004
Dernière intervention
3 juillet 2006
9 juil. 2005 à 13:39
0
Merci
Essaye :
<?
$recherche=$_POST['recherche'];
$recherche=preg_replace('@([\r\n])[\s]+@','',$recherche);
echo "Output: $recherche";
?>
Commenter la réponse de w_minisplash_w
Messages postés
164
Date d'inscription
jeudi 23 octobre 2003
Dernière intervention
25 août 2008
9 juil. 2005 à 21:03
0
Merci
Vous vous compliquez beaucoup trop la vie...



il existe la fonction trim()



bonne continuation,



cordialement,

kevin (kegi@hotmail.com)
Commenter la réponse de kegi
Messages postés
21
Date d'inscription
vendredi 16 avril 2004
Dernière intervention
3 juillet 2006
10 juil. 2005 à 01:58
0
Merci
lol oui mais je crois que trim() c'est plutot pour supprimer les espaces en début et fin de chaine... Hors je crois que le but c'est de supprimer tous les espaces de la chaine.
Donc je maintiens :
<?
$recherche=$_POST['recherche'];
$recherche=preg_replace('@([\r\n])[\s]+@','',$recherche);
echo "Output: $recherche";
?>
Commenter la réponse de w_minisplash_w
Messages postés
50
Date d'inscription
vendredi 29 octobre 2004
Dernière intervention
12 juillet 2005
10 juil. 2005 à 18:26
0
Merci
Je connaissais trim() mais effectivement c'est pour supprimer des espaces au début et à la fin.
L'autre solution proposée ne marche pas. Pour la recherche sur "n ous" j'ai (en rouge) :


$ta = $_POST['recherche'];
$ta = preg_replace([mailto:'@([\r\n])[\s]+@','',$ta '@([\r\n])[\s]+@','',$ta]); // supprime les espaces // $ta remplace $recherche de la solution proposée
$tb = strtoupper ($recherche); // met le mot cherché en majuscules
$tc = strtolower ($recherche); // met le mot cherché en minuscules
$td = ucfirst ($recherche); // met le mot cherché avec une première lettre en majuscules


//on affiche le nombre de résultats trouvés
print ' Pour le mot '.$ta.' il y a '.$res.' résultat(s)_________http://local.free.fr_________BASE DES ACTES NOTARIES DU SECTEUR HALLUIN-TOURCOING

';
echo $ta; // affiche n ous
echo $tb; // affiche N OUS
echo $tc; // affiche n ous
echo $td; // affiche N ous
Commenter la réponse de cs_malaysia
Messages postés
50
Date d'inscription
vendredi 29 octobre 2004
Dernière intervention
12 juillet 2005
10 juil. 2005 à 18:29
0
Merci
Oups... remplacer les $recherche dans $stb, $tc, $td
Commenter la réponse de cs_malaysia
Messages postés
50
Date d'inscription
vendredi 29 octobre 2004
Dernière intervention
12 juillet 2005
10 juil. 2005 à 18:33
0
Merci
Voilà la meilleure, une partie de mon message a disparue ! Je complète :

Oups... remplacer les $recherche dans $stb, $tc, $td par $ta.
Commenter la réponse de cs_malaysia
Messages postés
50
Date d'inscription
vendredi 29 octobre 2004
Dernière intervention
12 juillet 2005
10 juil. 2005 à 23:26
0
Merci
Chez Nexen ils proposent :


Suppression des espaces,
----

Cet exemple supprime les espaces en trop dans une chaîne.

<?php
$str = 'foo   o';
$str = preg_replace('/\s\s+/', ' ', $str);

// Affichera 'foo o'
echo $str;
?> 


Mais ça ne marche pas non plus. En fait ça supprime le 2ème espace en trop mais pas le premier.
Commenter la réponse de cs_malaysia
Messages postés
50
Date d'inscription
vendredi 29 octobre 2004
Dernière intervention
12 juillet 2005
10 juil. 2005 à 23:28
0
Merci
Impec la réponse de w_minisplash_w, ça marche. Merci.
Commenter la réponse de cs_malaysia
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
2 mars 2006 à 20:20
0
Merci
Salut,


preg_replace ('/\s/','',$var)



quelle solution de porc !!! utiliser des pregs alors qu'on n'a rien de complexe là dedans...



$var=str_replace(array(' ', chr(10), chr(13), "\t"), array('','','',''),$var);

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Commenter la réponse de coucou747
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
2 mars 2006 à 21:22
0
Merci
preg_replace pour ça, mais ça va pas non...!!
tout à fait d'accord avec Coucou.
Commenter la réponse de malalam

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.