IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Supprimer plusieurs caractères en une ligne de code


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2005
    Messages : 46
    Par défaut Supprimer plusieurs caractères en une ligne de code
    Bonjour à tous,

    je cherche si une fonction spéciale existe en PHP mais je ne trouve pas, peut-être la connaissez-vous ?

    Lorsque je veux supprimer plusieurs caractères d'une chaine je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $chaine = str_replace('*','',$chaine);
    $chaine = str_replace('?','',$chaine);
    $chaine = str_replace('[','',$chaine);
    etc... bref plein de lignes de codes.

    Existe-t-il une astuce / fonction pour supprimer directement plusieurs caractères d'une chaine ?

    Merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    DSI interne
    Inscrit en
    Juin 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DSI interne
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2011
    Messages : 197
    Par défaut
    Bonjour,

    Le mieux est de placer les champs que tu souhaite modifier dans un array :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     <?php
    $chaine = "On enlève * ? [";
    echo $chaine."<br />";
    $remplacements = array('*' => '',
    '?' => '',
    '[' => '',
    'On enlève' => 'On a enlevé' );
    $chaine = strtr($chaine, $remplacements);
    echo $chaine;
    ?>
    Personnellement j'utilise la fonction strtr().

    Bien à toi

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2005
    Messages : 46
    Par défaut
    Citation Envoyé par MinDBuSteR Voir le message
    Le mieux est de placer les champs que tu souhaite modifier dans un array
    Bonjour,

    le but était évidement était de gagné du temps car écrire un array est long, je cherchais un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Delete_char($chaine,'/*-+.;:/()[]#"');
    Genre une ligne de code, 10 sec. à écrire et hop je continue mon applic

    Citation Envoyé par MinDBuSteR Voir le message
    Personnellement j'utilise la fonction strtr().
    Le prob de cette fonction est qu'elle permet de remplacer, je pense pas qu'on sache supprimer des caractères avec.

    Enfin soit, je vais me créer une fonction Delete_char qui me fera gagner du temps

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2005
    Messages : 46
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function Delete_char(&$chaine,$char)
    {
    	$taille = strlen($char);
    	for($i = 0; $i < $taille; $i++) $chaine = str_replace($char{$i},'',$chaine);
    }
    voilà, si ça intéresse quelqu'un

    un code propre, 2 ligne de code

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par gianni17 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function Delete_char(&$chaine,$char)
    {
    	$taille = strlen($char);
    	for($i = 0; $i < $taille; $i++) $chaine = str_replace($char{$i},'',$chaine);
    }
    voilà, si ça intéresse quelqu'un

    un code propre, 2 ligne de code
    ne marche pas avec de l'utf8

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment écrire une ligne de code très longue sur plusieurs lignes
    Par Vincent32 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 06/11/2018, 09h28
  2. supprimer les premiers caractères d'une ligne
    Par cpalperou dans le forum Shell et commandes POSIX
    Réponses: 6
    Dernier message: 12/02/2013, 10h51
  3. Supprimer les caractères d'une ligne
    Par ecthelion dans le forum Langage
    Réponses: 3
    Dernier message: 27/03/2007, 08h42
  4. Réponses: 3
    Dernier message: 14/03/2006, 14h43
  5. Saisie de plusieurs caractère dans une liste déroulante
    Par Oluha dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/03/2005, 14h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo