Supprimer les espaces [Résolu]

cs_malaysia 50 Messages postés vendredi 29 octobre 2004Date d'inscription 12 juillet 2005 Dernière intervention - 8 juil. 2005 à 21:27 - Dernière réponse : malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention
- 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
w_minisplash_w 21 Messages postés vendredi 16 avril 2004Date d'inscription 3 juillet 2006 Dernière intervention - 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é 82 internautes ce mois-ci

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



str_replace je pense.
Commenter la réponse de cs_lotr
cs_malaysia 50 Messages postés vendredi 29 octobre 2004Date d'inscription 12 juillet 2005 Dernière intervention - 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
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 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
cs_malaysia 50 Messages postés vendredi 29 octobre 2004Date d'inscription 12 juillet 2005 Dernière intervention - 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
w_minisplash_w 21 Messages postés vendredi 16 avril 2004Date d'inscription 3 juillet 2006 Dernière intervention - 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
kegi 164 Messages postés jeudi 23 octobre 2003Date d'inscription 25 août 2008 Dernière intervention - 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
w_minisplash_w 21 Messages postés vendredi 16 avril 2004Date d'inscription 3 juillet 2006 Dernière intervention - 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
cs_malaysia 50 Messages postés vendredi 29 octobre 2004Date d'inscription 12 juillet 2005 Dernière intervention - 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
cs_malaysia 50 Messages postés vendredi 29 octobre 2004Date d'inscription 12 juillet 2005 Dernière intervention - 10 juil. 2005 à 18:29
0
Merci
Oups... remplacer les $recherche dans $stb, $tc, $td
Commenter la réponse de cs_malaysia
cs_malaysia 50 Messages postés vendredi 29 octobre 2004Date d'inscription 12 juillet 2005 Dernière intervention - 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
cs_malaysia 50 Messages postés vendredi 29 octobre 2004Date d'inscription 12 juillet 2005 Dernière intervention - 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
cs_malaysia 50 Messages postés vendredi 29 octobre 2004Date d'inscription 12 juillet 2005 Dernière intervention - 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
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 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
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 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.