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 :

Combinaisons dans preg_replace [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut Combinaisons dans preg_replace
    Bonjour,
    Je ne suis pas très à l'aise avec preg_replace, que j'utilise peu et quand je l'utilise, c'est dans des fonctions écrites il y a longtemps ... donc merci par vance pour votre indulgence

    Je souhaite remplacer tout ce qui n'est pas alphabétique, ni en majuscule ni en minuscule, par un underscore. J'arrive à changer tout ce qui n'est pas en minuscule OU tout ce qui n'est pas en majuscule

    Voici le code complet du script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?php
    header('Content-type: text/xml; charset=utf-8');
    define('EOL', "\r\n");
    $vl_c_entete='';
    $vl_c_entete.='<?xml version="1.0" encoding="utf-8"?>';
    $vl_c_entete.='<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"';
    $vl_c_entete.=' xmlns:row="http://dummy/rdf#" xmlns:NC="http://home.netscape.com/NC-rdf#">';
    $vl_c_entete.='<RDF:Bag about="urn:data:row">';
    echo $vl_c_entete; 
    $vv_chaine="AAA je mets plein de commentaires d''ici à (la)-en passantt par &lt;(#">]=\\ j''avais oublié)";
    echo('<RDF:li><RDF:Description>'.EOL);  
     
     
      $a[0]='/[^a-z]/';
    //$a[0]='/[^a-z][^A-Z]\\)/';
    //  $a[1]='/[^A-Z]/';
      $b[0]='_';
    //  $b[1]='_';
     
      $fieldname=preg_replace($a, $b, $vv_chaine);
    //$fieldname=preg_replace($vl_c_avant, $vl_c_apres, $vv_chaine);
     
    echo(EOL.'<row:'.$fieldname.'>'.EOL);
    echo $vv_chaine;
     
    echo(EOL.'</row:'.$fieldname.'>'.EOL);
    echo(EOL.'</RDF:Description></RDF:li>'.EOL);
    echo('</RDF:Bag>'.EOL);
    echo('</RDF:RDF>'.EOL);
     
    ?>
    Si vous l'exécutez, le résultat par de lui même !! Je précise que je ne souhaite pas passer toute la chaine en minuscule avant le remplacement.
    D'avance, merci pour votre aide.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Vous semblez près du but, avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $texte = preg_replace('£[^a-zA-Z]£', '_', $texte);
    vous n'arrivez pas à vos fins ?


    Julp.

  3. #3
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut
    Citation Envoyé par julp
    Vous semblez près du but, avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $texte = preg_replace('£[^a-zA-Z]£', '_', $texte);
    vous n'arrivez pas à vos fins ?
    Julp.
    Si, si parfait merci pour la rapidité de la réponse. Si j'osais ... et comment intégrer dans cette séquence, en plus les ?

    Merci à vous

    P.S.
    Les "£" sont consécutifs à une transformation ici ou est-ce une nouvelle syntaxe (pas vus celle-ci) ??!!

  4. #4
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    £ : C'est un des formats possibles du délimiteur ( généralement on utilise "/" mais chacun ses gouts )

    pout integrer les caractères, tu les rajoutes à la suite dans la liste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $texte = preg_replace('£[^a-zA-Zéèàëê]£', '_', $texte);
    ou alors pour éviter les problèmes de casses, tu peux rendre la recherche insensible à la casse avec le modificateur i

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $texte = preg_replace('£[^a-zéèàëê]£i', '_', $texte);

  5. #5
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut
    Parfait ... Merci infiniment

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

Discussions similaires

  1. [RegExp] Détecter des combinaisons dans une chaine une par une
    Par vermine dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 08/06/2010, 13h22
  2. [RegEx] Encodage dans preg_replace
    Par rich25200 dans le forum Langage
    Réponses: 3
    Dernier message: 25/08/2009, 10h09
  3. Combinaisons dans une ligne de Kakuro
    Par FabaCoeur dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 29/04/2007, 14h33
  4. [VBA-E] Générer des combinaisons dans Excel
    Par JSOREL dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 07/03/2007, 17h23
  5. [RegEx] utiliser une variable variable (dynamique) dans preg_replace
    Par thibs44 dans le forum Langage
    Réponses: 1
    Dernier message: 18/01/2007, 11h29

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