Signaler

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

Posez votre question antic80 4809Messages postés lundi 30 mai 2005Date d'inscription ContributeurStatut 9 septembre 2009 Dernière intervention - Dernière réponse le 24 mars 2014 à 22:38 par midnnight
bonjour

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

merci
Afficher la suite 
Utile
+109
moins plus
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);
midnnight 484Messages postés jeudi 23 février 2006Date d'inscription 9 novembre 2016 Dernière intervention - 24 mars 2014 à 22:38
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...:)
Répondre
Donnez votre avis
Utile
+35
moins plus
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...
jogan- 24 avril 2008 à 22:46
oups trop habitué à chercher les doubles espaces.... pour supprimer tous les espaces :
$machaine=preg_replace('/\s/', '', $machaine);
voilà
Répondre
saillantist- 4 nov. 2010 à 14:49
merci pour ta soluce pour les doubles espaces :)
efficace et pas lourd en mémoire
Répondre
Donnez votre avis
Utile
+22
moins plus
salut

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

Bonne chance

Pascal_22
Donnez votre avis
Utile
+12
moins plus
En php :

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

et voilà, tous les espaces de $chaine sont supprimés ...
Donnez votre avis
Utile
+7
moins plus
Pour ce type d'opé simple mieux vaut utiliser str_replace moins gourmand qu'une regex
Donnez votre avis
Utile
+3
moins plus
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ééèè");
Donnez votre avis
Utile
+3
moins plus
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);
BafS- 23 juin 2010 à 15:09
str_replace est plus rapide que preg_replace. Il faut donc mieux utiliser str_replace ;)
Répondre
gg- 6 nov. 2010 à 03:39
bien tous je retourne à mon Java !!
Répondre
Donnez votre avis
Utile
+3
moins plus
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....
Donnez votre avis
Utile
+3
moins plus
trim() de php
Donnez votre avis
Utile
+1
moins plus
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
Donnez votre avis
Utile
+1
moins plus
je maitrise pas trop php donc si kelkun peux m'aider
Donnez votre avis
Utile
+1
moins plus
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
Donnez votre avis
Utile
+0
moins plus
personne ne sait ou alors si il y a un moyen de le faire
Donnez votre avis
Utile
+0
moins plus
ok merci killian
Donnez votre avis
Utile
+0
moins plus
<?php
$str = 'foo o';
$str = preg_replace('/\s\s+/', ' ', $str);
// Affichera 'foo o'
echo $str;
?>
Donnez votre avis
Utile
-1
moins plus
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
Donnez votre avis
Utile
-1
moins plus
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 ?
Donnez votre avis
Utile
-1
moins plus
bon comment te dire ca rapidement bravo

je dis chapo bas merci a toi pascal
Donnez votre avis
Utile
-2
moins plus
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

}
Donnez votre avis
Utile
-2
moins plus
merci j'ai deja vu ces fonctions mais aucune ne vas
Donnez votre avis

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.

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

Vous n'êtes pas encore membre ?

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