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 :

preg_replace


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut preg_replace
    Salut,

    Dans une grande chaine (une portion de code par exemple), je recherche les parties commentées entre /* et */.
    Voila ce que je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $style_content = preg_replace("/\*(.+)\*/", "<font style='color:orange'>/* $1 */</font>", $style_content);
    Mais je n'arrive pas à tout "trouver". D'ailleur avec ce code, j'ai exactement ce résultat à l'affichage:

    //* Ma ligne commentée *//
    Je crois donc que c'est un problème de slashes. Comment résoudre ça?
    Merci

  2. #2
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    Et comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $style_content = preg_replace("\/*(.+)\/*", "<font style='color:orange'>/* $1 */</font>", $style_content);

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    Dans les deux cas, il y a un problème de délimiteur.

    Ici il va prendre / comme délimiteur et pas comme caractère à trouver.Là il n'y en a pas.Voici une solution posible avec possiblilité d'avoir des commentaires sur plusieurs lignes (option s --> dot comprend le retour ligne). L'option U est pour rendre le quantificateur + non gourmand.

  4. #4
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Merci beaucoup je vais essayer mais deux questions: à quoi sert le # et qu'entends-tu par "non-gourmand"?

    Merci

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Yup

    @Anduriel : fais une recherche sur "gourmand" dans mes posts, tu trouveras des messages comme celui-ci :
    http://www.developpez.net/forums/vie...642148#2642148
    Ce message répond d'ailleurs à tes deux questions.

  6. #6
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Merci à toi,
    J'ai appris en lisant ces messages comment utiliser les délimiteurs (donc selon notre envie etre # `/ et \), j'ai appris que i rendait la casse insensible mais je n'ai pas trouvé l'explication du gourmand

    J'ai lu bien les tutos (enfin je pense) d'un site consacré au RegExp mais pourtant il ne parle pas des caractères de "fin", donc i, U, s... Ou puis je trouver des tutos dessus?

    Merci

Discussions similaires

  1. [RegEx] Remplacer une chaîne avec preg_replace
    Par GregPeck dans le forum Langage
    Réponses: 3
    Dernier message: 08/12/2005, 12h21
  2. [RegEx] preg_replace assez complexe
    Par Info-Rital dans le forum Langage
    Réponses: 2
    Dernier message: 25/11/2005, 13h28
  3. [RegEx] problème avec preg_replace
    Par carlos20 dans le forum Langage
    Réponses: 6
    Dernier message: 27/10/2005, 10h29
  4. [RegEx] Preg_replace et affichage de variable
    Par xperienss dans le forum Langage
    Réponses: 6
    Dernier message: 13/10/2005, 13h26
  5. [RegEx] preg_replace : explications sur les caractères spéciaux
    Par Anduriel dans le forum Langage
    Réponses: 6
    Dernier message: 05/10/2005, 21h35

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