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 22/03/2011, 17h48   #1
Membre à l'essai
 
Inscription : novembre 2006
Messages : 121
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 121
Points : 22
Points : 22
Par défaut Ancre de début ^ multiligne

Bonjour,

J'ai un problème avec une regex et l'utilisation de l'ancre de début de ligne : ^

Voici la chaine ($str) que je veux analyser :

Code :
1
2
3
4
5
6
7
8
9
10
11
function truc($machin = 'truc', $bidule = false)
{
        echo 'truc'; /* function (ne doit pas être remplacé car pas en début de ligne) */
}
 
class truc{
        function __construct()
        {
                echo 'truc';
        }
}
Quand j'utilise cette regex, ça fonctionne, le mot function est bien remplacé :

Code :
<?php $str = preg_replace('#function#i', "--replaced--", $str); ?>
Mais quand j'ajoute l'ancre de début : ^ :

Code :
<?php $str = preg_replace('#^function#i', "--replaced--", $str); ?>
Et bien ça ne fonctionne plus, rien n'est matché, donc rien n'est remplacé.

Je crois que c'est parce qu'il interprète le ^ comme "le début de la chaine", or moi je voudrais que ^ désigne le début de chaque ligne.

Il doit surement y avoir un flag spécial pour ça... pourriez vous me l'indiquer ?

Merci
Galdon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2011, 18h32   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Modificateur m pour que ^ ait sens de début de ligne et non plus (uniquement de) début de chaîne.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2011, 19h41   #3
Membre à l'essai
 
Inscription : novembre 2006
Messages : 121
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 121
Points : 22
Points : 22
Merci beaucoup !
Galdon est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h35.


 
 
 
 
Partenaires

Hébergement Web