Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/04/2006, 23h35   #1
Membre Expert
 
Avatar de Anduriel
 
Homme
Étudiant
Inscription : février 2004
Messages : 2 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 2 168
Points : 1 277
Points : 1 277
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 :
$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:

Citation:
//* Ma ligne commentée *//
Je crois donc que c'est un problème de slashes. Comment résoudre ça?
Merci
Anduriel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2006, 23h40   #2
Membre émérite
 
Avatar de macbook
 
Inscription : février 2006
Messages : 840
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 840
Points : 924
Points : 924
Et comme ça :

Code :
$style_content = preg_replace("\/*(.+)\/*", "<font style='color:orange'>/* $1 */</font>", $style_content);
__________________
Consultant idéaliste.
macbook est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2006, 09h00   #3
Membre émérite
 
Inscription : mai 2004
Messages : 708
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : mai 2004
Messages : 708
Points : 853
Points : 853
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.
ripat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2006, 13h12   #4
Membre Expert
 
Avatar de Anduriel
 
Homme
Étudiant
Inscription : février 2004
Messages : 2 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 2 168
Points : 1 277
Points : 1 277
Merci beaucoup je vais essayer mais deux questions: à quoi sert le # et qu'entends-tu par "non-gourmand"?

Merci
Anduriel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2006, 22h59   #5
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Yup

@Anduriel : fais une recherche sur "gourmand" dans mes posts, tu trouveras des messages comme celui-ci :
http://www.developpez.net/forums/viewtopic.php?p=2642148#2642148
Ce message répond d'ailleurs à tes deux questions.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2006, 23h35   #6
Membre Expert
 
Avatar de Anduriel
 
Homme
Étudiant
Inscription : février 2004
Messages : 2 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 2 168
Points : 1 277
Points : 1 277
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
Anduriel est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h10.


 
 
 
 
Partenaires

Hébergement Web