Php-mêmes patterns remplacés par id uniques ?

Fermé
Signaler
Messages postés
597
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
3 février 2020
-
Messages postés
597
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
3 février 2020
-
Bonjour à tous,
En php, j'ai une chaine qui ressemble à ça :
blabla [note]toto/note blabla [note]titi/note blabla [note]tata/note blabla 


et je voudrais avoir une chaine ressemblant vaguement à ça :
blabla <div id="1">toto</div> blabla <div id="2">titi</div> blabla <div id="3">tata</div> blabla 



Je voudrais faire un truc simple et propre, sous-entendu on oublie substr...
Je me suis orienté vers preg_replace, parce que j'ai vu dans le manuel qu'on pouvait mettre une limite. Le soucis, c'est que quand je teste en mettant en mettant une, la fonction me retourne rien du tout.

Que faire ?

PS : le titre de ce topic est un peu capilo tracté, j'ai pas trouvé plus simple !
PS2 : normalement c'est des [ /note ] mais ccm me les remplace par des liens bidons.

1 réponse

Messages postés
597
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
3 février 2020
85
J'ai trouvé ma solution, c'était juste un problème de regexp.
J'avais pas trouvé avant à cause des crochets [ ]
Voici mon code :
$nb_notes=substr_count($text,'[note]');
        for ($i=0;$i<$nb_notes;$i++){
            $tags='<div id="'.$i.'">';
            $text=preg_replace('[\[note\]]',$tags,$text,1);
        }
        $text=str_replace('/note','</div>',$text);