[php] Remplacement de chaine - bizarre !...

Résolu
Bonjour,

Voilà j'ai un petit soucis... Je voudrais savoir comment faire pour remplacer une occurence comme:

[url=http://mon_url_qui_change.com]

par:

[url=http://mon_url_qui_change.com:texte]

Dans un texte...

En fait, je peux pas utiliser de str_replace parce que l'url change dans le texte... Il me faudrait une solution qui me permette de remplacer les chaînes de la forme [url= ... ] par [url= ... :texte], sans agir sur les pointillés, en fait...

Y'a-t-il une solution pour ça ? avec preg_replace ?

Si quelqu'un avait une solution, je lui en serait très reconnaissant !

--

Mnu
Configuration: Windows XP
Firefox 2.0.0.11

5 réponses

  1. Merci pour ta réponse, mais ce n'est pas ce que je recherche...

    Je vois bien comment concaténer, c'est pas le problème...

    En fait, la chaine sur laquelle je dois intervenir change... Du coup, je ne peux pas simplement faire un str_replace("[url= ... ]", "[url= ... :texte]",$texte)...

    Il faut que je trouve un moyen de trouver dans $texte n'importe quelle chaine sous la forme [url=chaine_quelconque] pour la remplacer par [url=chaine_quelconque:suffixe]. Et je ne sais pas si on peut utiliser un preg_replace pour ça.

    Et c'est là que je coince...

    1. Bonjour,

      $chn="[url:salut]";
      $texte=":coucou";
      $chn=substr($chn,0,strlen($chn)-1).$texte.substr($chn,-1);
      echo $chn;
      1. Merci, j'y avais pas pensé... Je vais regarder ce que je peux faire avec ça !
        1. Voilà, j'ai trouvé...

           
              preg_match_all("/\[url=([^\]]*)\]/",$text,$out);
              foreach ($out[0] as $value)
             {
                 $text = str_replace($value,substr($value,0,strlen($value)-1).":suffixe".substr($value,-1),$text);
             }
          


          Ceci remplace [url=une_url_quelconque] par [url=une_url_quelconque:suffixe] dans une chaîne $text

          Merci pour votre aide...