Rechercher : dans
Par :

[PHP] supprimer les espaces d'une chaine

Dernière réponse le 21 aoû 2009 à 10:16:34 antic80, le 16 mai 2006 à 12:04:25 
 Signaler ce message aux modérateurs

Bonjour

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

merci

Meilleures réponses pour « [PHP] supprimer les espaces d'une chaine » dans :
PHP - Nettoyer une chaîne de caractères Voir Voici une fonction en PHP qui peut être assez pratique, surtout quand on fait de l'URL Rewriting. Cette fonction permet de transformer les caractères de n'importe quelle chaîne de caractères en chaîne non accentuée, en enlevant les caractères...
Supprimer les accents avec PHP VoirPour un tas de raisons, il est parfois utile de convertir un texte accentué en un texte sans accents. Voici une fonction permettant de transformer très simplement la quasi-totalité des accents en leur équivalent non-accentués : function...
Sed - Trucs et astuces VoirSubstitution Affichage Suppression Espace et tabulation Ligne vide Intervalle régulier Divers Joindre des lignes Affichage insensible à la casse Substitution Substituer "foo" par "bar" à chaque ligne Seulement la 1ère...
Espace en HTML VoirEn HTML, les espaces consécutifs sont ignorés par les navigateurs, au même titre que les retours chariots ou les tabulations. Pour insérer plusieurs espaces consécutifs, il est nécessaire d'utiliser une entité HTML spécifique, appelée espace...
PHP - Expressions régulières VoirQu'est-ce qu'une expression régulière? Les expressions régulières sont des modèles créés à l'aide de caractères ASCII permettant de manipuler des chaînes de caractères, c'est-à-dire permettant de trouver les portions de la chaîne correspondant au...

1

antic80, le 16 mai 2006 à 14:20:04

Personne ne sait ou alors si il y a un moyen de le faire

Répondre à antic80

2

Pascal_22, le 16 mai 2006 à 21:08:28

Salut

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

Bonne chance

Pascal_22

Répondre à Pascal_22

3

antic80, le 16 mai 2006 à 21:12:45

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

Répondre à antic80

4

Pascal_22, le 16 mai 2006 à 21:30:38

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

Répondre à Pascal_22

5

antic80, le 16 mai 2006 à 21:34:09

Je maitrise pas trop php donc si kelkun peux m'aider

Répondre à antic80

6

Gihef, le 16 mai 2006 à 21:45:20

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.h­tml

Dedans on trouve des choses comme :
http://doc.domainepublic.net/php/doc.php.court/function.subs­tr-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 ?
-- > Nous avons su vous aider ? Alors, aidez-nous, dites-le et
-- > • cochez le problème comme résolu. Merci.

Répondre à Gihef

7

Pascal_22, le 16 mai 2006 à 22:06:09

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

}

Répondre à Pascal_22

8

antic80, le 16 mai 2006 à 22:23:01

Merci j'ai deja vu ces fonctions mais aucune ne vas

Répondre à antic80

9

antic80, le 16 mai 2006 à 22:32:38

Bon comment te dire ca rapidement bravo

je dis chapo bas merci a toi pascal

Répondre à antic80

10

kilian, le 17 mai 2006 à 00:16:54
  • +25

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);

Répondre à kilian

11

antic80, le 17 mai 2006 à 09:13:56

Ok merci killian

Répondre à antic80

12

ecarbill, le 14 jan 2008 à 17:52:42

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ééèè");

Répondre à ecarbill

13

torto proton, le 15 avr 2008 à 15:31:44

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

Répondre à torto proton

14

tartaro75, le 18 avr 2008 à 17:36:50
  • +5

En php :

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

et voilà, tous les espaces de $chaine sont supprimés ...

Répondre à tartaro75

15

jogan, le 24 avr 2008 à 22:36:41

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...

Répondre à jogan

16

jogan, le 24 avr 2008 à 22:46:12

Oups trop habitué à chercher les doubles espaces.... pour supprimer tous les espaces :
$machaine=preg_replace('/\s/', '', $machaine);
voilà

Répondre à jogan

18

Janos, le 17 jun 2008 à 08:27:47

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);

Répondre à Janos

19

webdev X, le 1 sep 2008 à 10:46:38

Pour ce type d'opé simple mieux vaut utiliser str_replace moins gourmand qu'une regex

Répondre à webdev X

20

Odradek, le 6 mai 2009 à 10:00:16

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....

Répondre à Odradek