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