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 28/05/2006, 16h30   #1
Invité de passage
 
Inscription : mars 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 5
Points : 2
Points : 2
Par défaut Expression régulière et compteur

Bonjour tout le monde,

Je possède une variable $msg contenant du code html. Je remplace tout les tags <a href ...>..</a> afin de pouvoir les complèter en passant certains paramètres supplèmentaires.
Le problème se pose quand j'ai plusieurs liens dans la même page. J'aimerais pouvoir numéroter ces liens.
Seulement, vu que preg_replace() remplace tout d'un coup, je n'arrive pas à incrémenter la variable $num.
Comment puis je incrémenter cette variable afin de pouvoir la passer en paramètre ?

Pour le moment j'utilise ceci:
Code :
1
2
 
$texte = preg_replace($regex, '<a href="index.php?adr=$1&id='.$num.'">', $msg);
J'ai essayer aussi:
Code :
1
2
3
 
$texte = preg_replace($regex, '<a href="index.php?adr=$1&id='.($num + $count).'">', $msg,-1, $count);
echo $count; //Affiche le nombre de tag remplacer.
PhoeniXX52 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2006, 18h50   #2
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
Avec preg_replace_callback() tu peux renvoyer le regexp vers une fonction (dans laquelle tu incrémentes $num) pour qu'il remplace ce qu'il trouve par ce que la fonction retourne.
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 21h40.


 
 
 
 
Partenaires

Hébergement Web