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 :

Remplacement de caractères


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 314
    Par défaut Remplacement de caractères
    Je dois changer les caractères accentués en non-accentués, enlever les points, enlever les tirets, Exemple "à" doit devenir "a".
    Je boucle sur une fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if ($Mot_ != strtolower($Mot_)) { $Mot_ = strtolower($Mot_); }			
    elseif (strpos($Mot_, ".") == true) { $Mot_ = str_replace(".", "", $Mot_); }	
    elseif (strpos($Mot_, "(") == true) { $Mot_ = str_replace("(", "", $Mot_); }	
    elseif (strpos($Mot_, ")") == true) { $Mot_ = str_replace(")", "", $Mot_); }	
    elseif (strpos($Mot_, "-") == true) { $Mot_ = str_replace("-", "", $Mot_); }
    elseif (strpos($Mot_, "à") == true) { $Mot_ = str_replace("à", "a", $Mot_); }
    elseif (strpos($Mot_, "é") == true) { $Mot_ = str_replace("é", "e", $Mot_); }
    else { $Controle = true; }
    Résultat:
    A; n m inv = a; n m inv
    B.a.-ba; n m sing = baba; n m sing
    Mais:
    à; prép = à; prep
    Le changement sur le "à" ne s'effectue pas.
    Pourtant quand j'exécute:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print(strpos($Mot_, "à"));
    La valeur 0 est bien retournée.
    Merci d'orienter ma recherche.
    P.S.: J'ai testé sur d'autres mots, chaque fois que le 1er caractère est accentué, la modification ne s'effectue pas.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    0 ne vaut pas TRUE justement (et d'ailleurs la fonction ne renvoit pas TRUE tout court).
    Comme expliqué dans la doc, il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strpos($Mot_, ".") !== FALSE
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 314
    Par défaut
    ! O.K. cela fonctionne.

    Je suis allé voir la doc avant de poster mon message.
    == ne fait pas la différence entre false et 0, aussi elle préconise d'utiliser ===, mais cela ne fonctionnais pas non plus.
    ? Quelle différence entre "===" et "!=="

  4. #4
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    3 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 3 002
    Par défaut
    Citation Envoyé par Trebor_ Voir le message
    Quelle différence entre "===" et "!=="
    C'est le contraire. Et comme strpos ne renvoie jamais true, on utilise !== false.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 314
    Par défaut
    Merci. ! C'est compris.

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

Discussions similaires

  1. Remplacement du caractère ?
    Par Mvu dans le forum ASP
    Réponses: 9
    Dernier message: 06/01/2005, 19h11
  2. Réponses: 11
    Dernier message: 01/12/2004, 20h09
  3. [CR] Chercher et remplacer un caractère dans 1 chaine
    Par franck.cvitrans dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 29/09/2004, 17h42
  4. Fonction permettant de remplacer des caractères
    Par PrinceMaster77 dans le forum ASP
    Réponses: 3
    Dernier message: 06/09/2004, 16h48
  5. Remplacer un caractère
    Par Mvu dans le forum ASP
    Réponses: 5
    Dernier message: 20/07/2004, 10h57

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