PHP - Supprimer les espaces d'une chaine [Résolu/Fermé]

Messages postés
4807
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
-
bonjour

voila j'aimerai savoir quelle fonction permet de supprimer tous les espaces d'une chaine de caractere

merci
Afficher la suite 

20 réponses

Meilleure réponse
approuvée par Jean-François Pillou
Messages postés
8896
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1335
123
Merci
merci j'ai deja vu ces fonctions mais aucune ne vas

Tu n'as pas du bien regarder ces fonctions.
Tu peux faire ça en une ligne avec str_replace:
$text='ton texte';
$text=str_replace(' ','',$text);

Dire « Merci » 123

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

CCM 69548 internautes nous ont dit merci ce mois-ci

midnnight
Messages postés
498
Date d'inscription
jeudi 23 février 2006
Statut
Membre
Dernière intervention
26 juillet 2017
26 -
Superbe ! (oui je sais que le post est ancien mais des gens passent parfois) => sauf que la syntaxe est :
<?php
// autre
$text='ton texte'; // il y a un espace
$text2=str_replace(' ','-',$text); // on remplace l'espace par un -
print $text2; echo "--->cool ça marche..." // on écrit le texte sans espace avec un -
?>
facile, certe, mais bon ;)
(enfin pour ceux qui veulent remplacer un espace par un tirait... Facile à adapter...:)
37
Merci
ces méthodes sont peu optimisées mieux vaut utiliser preg_replace :
$machaine=preg_replace('/\s\s+/', '', $machaine);
voilà en espérant que ça aide...
oups trop habitué à chercher les doubles espaces.... pour supprimer tous les espaces :
$machaine=preg_replace('/\s/', '', $machaine);
voilà
merci pour ta soluce pour les doubles espaces :)
efficace et pas lourd en mémoire
Messages postés
536
Date d'inscription
lundi 20 mars 2006
Statut
Membre
Dernière intervention
8 octobre 2015
49
23
Merci
salut

le Trim(MaVariable) enleve les espaces a gauche et a droite !!

Bonne chance

Pascal_22
13
Merci
En php :

$chaine = str_replace(CHR(32),"",$chaine);

et voilà, tous les espaces de $chaine sont supprimés ...
8
Merci
Pour ce type d'opé simple mieux vaut utiliser str_replace moins gourmand qu'une regex
Messages postés
20
Date d'inscription
mardi 11 janvier 2005
Statut
Membre
Dernière intervention
9 mars 2019
3
3
Merci
Voici une fonction que tu peux améliorer toi-meme


function SupprimeLettre($Lettre_a_Supprimer,$Texte)
//Fonction qui supprime tous les caractères "$Lettre_a_Supprimer" du texte "$Texte"
{
$resultat=""; //variable résultat
//on parcour le texte à la recherche de $Lettre_a_Supprimer
for ($compteur=0;$compteur<strlen($Texte);$compteur++)
{
//si la lettre rencontrée n'est pas à exclure, alors on l'ajoute à la variable $resultat
if (substr($Texte,$compteur,1)!=$Lettre_a_Supprimer) $resultat.=substr($Texte,$compteur,1);
}
return $resultat ;
}
//Pour supprimer tous les espaces, tu fais:
echo SupprimeLettre(" ","Tu peux toujours améliorer cette fonction. éhééèè");
//Pour supprimer tous les "è", tu fais:
echo SupprimeLettre("è","Tu peux toujours améliorer cette fonction. éhééèè");
3
Merci
concernant Jogan =>
ta méthode est bonne, mais le \s peut supprimer aussi les retours chariot il me semble....
Je conseillerait plutôt :

$machaine = preg_replace('/ /','',$machaine);
str_replace est plus rapide que preg_replace. Il faut donc mieux utiliser str_replace ;)
bien tous je retourne à mon Java !!
3
Merci
Pourquoi ne pas utiliser le fonction strtr() :

<?php
    $chaine = "Il a des   raviolis";
	$conversion = array(" "=>"");
	$chaine = strtr($chaine,$conversion);
	echo $chaine;
 
    //Resultat : Iladesraviolis	
?>


Cela me semble plus simple....
3
Merci
trim() de php
Messages postés
4807
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1091
1
Merci
oui j'avais vu cette fonction mais moi je veux retirer tous les espaces

par exemple si j'ai la variable

$text=mon texte

je veux obtenir

montexte
Messages postés
4807
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1091
1
Merci
je maitrise pas trop php donc si kelkun peux m'aider
1
Merci
Salut

Ce code ne fonctionne pas : la fonction renvoie la première lettre de la chaine multipliée par le nombre de caractères de la chaine. Exemple :
pour $maChaine='il fait beau';
echo supprimeLettre(" ",$maChaine)
donne : iiiiiiiiiiiiii
Messages postés
4807
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1091
0
Merci
personne ne sait ou alors si il y a un moyen de le faire
Messages postés
4807
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1091
0
Merci
ok merci killian
0
Merci
<?php
$str = 'foo o';
$str = preg_replace('/\s\s+/', ' ', $str);
// Affichera 'foo o'
echo $str;
?>
Messages postés
536
Date d'inscription
lundi 20 mars 2006
Statut
Membre
Dernière intervention
8 octobre 2015
49
-1
Merci
salut !!

J'avais pas vu que c'Est en PHP.

Je ne connais pas trop php, mais ce que je te conseil pour ne pas perdre ton temps, tu fais un boucle sur chaque caractere de ta phrase, et si c'est égale à " " (un espace) tu l'enleves

J'espere t'avoir aider !!

Pascal_22
Messages postés
5155
Date d'inscription
mercredi 20 juillet 2005
Statut
Contributeur
Dernière intervention
6 mars 2019
2610
-1
Merci
Bonjour,

Je ne maîtrise pas du tout PHP, mais en cherchant un peu, j'ai trouvé ça :
http://doc.domainepublic.net/php/doc.php.court/ref.strings.html

Dedans on trouve des choses comme :
http://doc.domainepublic.net/php/doc.php.court/function.substr-replace.html
et
http://doc.domainepublic.net/php/doc.php.court/function.str-replace.html

Ça peut certainement te servir ?

Et puis, t'as vu, il y a des :
trim, ltrim, rtrim, count_chars… au cas où.

Pas mal, non ?
Messages postés
4807
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1091
-1
Merci
bon comment te dire ca rapidement bravo

je dis chapo bas merci a toi pascal
Messages postés
536
Date d'inscription
lundi 20 mars 2006
Statut
Membre
Dernière intervention
8 octobre 2015
49
-2
Merci
Salut

J'ai trouver

$Text="la maison";
$Nouvelle="";



for ($i = 0; $i < strlen($Text); $i++) {
if (substr($Text, $i,1) != ' ')
{
$Nouvelle=$Nouvelle . substr($Text, $i,1);
}

echo $Nouvelle;

la variable % echo devrais etre "lamaison"

Rodonne moi en des nouvelles !!!

Pascal_22

}
Messages postés
4807
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1091
-2
Merci
merci j'ai deja vu ces fonctions mais aucune ne vas