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 :

Modification de chaine de caractères


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Points : 8
    Points
    8
    Par défaut Modification de chaine de caractères
    Bonjour,

    C'est un de mes premiers posts, je n'ai pas trouvé d'endroit où me présenter, y a-t-il un endroit dédié ?

    Sinon : je suis étudiant en BTS Informatique de Gestion, j'ai une moto, j'habite dans une ville, je suis humain, et j'ai un petit "problème" sur un script et je suis mauvais en expressions régulières.

    J'aimerais transformer une chaine de caractère : "CacaBoudin"

    En une autre chaine de caractère : "caca_boudin"

    (vous noterez la finesse de mes exemples...)

    Je ne trouve pas la fonction qui permet de trouver à quel endroit (entier donc) se situent un certain caractère (les majuscules) (edit: strpos ?)
    Je ne trouve pas la fonction qui permet d'insérer un caractère à un endroit précis d'une chaine (un _ avant chaque majuscule qui ne débute pas la chaine).

    Enfin, je pense pouvoir utiliser la fonction strtolower...

    Auriez vous une idée de comment je pourrais faire ça ?

    Merci d'avance

    PS : j'ai utilisé la fonction recherche

  2. #2
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    A tester car je suis pas une brute en regexp :-)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      preg_replace("/^(.[^A-Z]*)([A-Z])([^A-Z]+)$/", "$1_$2$3", 'CacaBoudin');
    Voici une doc sympa http://www.lumadis.be/regex/tuto_pcre.php

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Je vais tester ça, mais je ne suis pas sûr de bien comprendre le $1_$2$3, c'est automatique le fait qu'il comprenne que $1 c'est la première partie de l'expression régulière ?

    Edit : alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_replace("/^(.[^A-Z]*)([A-Z])([^A-Z]+)$/", "$1_$2$3", "CacaBoudin")
    Donne :
    "Caca_Boudin"

    C'est impec, donc la fonction que je recherchais c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strtolower(preg_replace("/^(.[^A-Z]*)([A-Z])([^A-Z]+)$/", "$1_$2$3", "$nom2"))
    Edit 2 : en fait je n'aurais jamais de ChaineAvecPleinDeMajuscules, mais au maximum des ChainesAvec DeuxMajuscules. Donc l'expression régulière couplée à preg_replace fonctionne très bien.

    Merci beaucoup, la solution est trouvée, je note le sujet comme résolu !
    Merci Marcha pour le lien et la solution

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/04/2014, 18h45
  2. Filtre recherche et modification de chaine de caractères
    Par kromei dans le forum Shell et commandes GNU
    Réponses: 10
    Dernier message: 16/05/2013, 17h12
  3. Réponses: 7
    Dernier message: 11/06/2011, 14h23
  4. Modification d'une chaine de caractères
    Par banju dans le forum Langage
    Réponses: 2
    Dernier message: 30/05/2008, 13h07
  5. modification d'une chaine de caractère
    Par rlongin dans le forum SAS Base
    Réponses: 2
    Dernier message: 21/05/2008, 18h55

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