Eregi_replace limité

cz1702 Messages postés 119 Date d'inscription mercredi 23 juillet 2003 Statut Membre Dernière intervention 6 novembre 2008 - 11 mars 2008 à 10:48
cz1702 Messages postés 119 Date d'inscription mercredi 23 juillet 2003 Statut Membre Dernière intervention 6 novembre 2008 - 12 mars 2008 à 10:04
Bonjour,

Je souhaite mettre une balise encadrant toutes les lignes commençant par #.
Pour cela j'utilise la fonction eregi_replace comme cela :

$txt=eregi_replace("\n\#(.*)\n","\n\\1\n",$txt);

- $txt est la variable contenant le texte que je veux traiter
- les 2 \n, au début et à la fin, me permettent d'isoler une ligne
- (.*) expression régulière signifiant que je veux encadrer tous les caractères entre les \n

Le problème c'est que lorsque j'utilise cette fonction c'est que l'encadrement commence bien au 1er "\n#" mais il finit au dernier "\n" du texte, au lieu de finir au premier saut de ligne suivant '\n#'.

J'éspère que je me suit bien fait comprendre.

Savez vous comment faire pour que eregi_replace finisse à la première occurence suivant l'exrpession régulière ?

Merci d'avance,

1 réponse

cz1702 Messages postés 119 Date d'inscription mercredi 23 juillet 2003 Statut Membre Dernière intervention 6 novembre 2008 3
12 mars 2008 à 10:04
Pour info j'ai réussi à faire ce que je voulais avec preg_replace et l'option U (ungreedy).
L'expression recherché ressemble donc à ça : '#expr#U'
0
Rejoignez-nous