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

Résolu/Fermé
Mnu Messages postés 97 Date d'inscription mercredi 11 avril 2001 Statut Membre Dernière intervention 9 janvier 2008 - 8 janv. 2008 à 08:36
Mnu Messages postés 97 Date d'inscription mercredi 11 avril 2001 Statut Membre Dernière intervention 9 janvier 2008 - 9 janv. 2008 à 00:57
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 !
A voir également:

5 réponses

en concatenant ^^ url=http...com.":texte"
0
Mnu Messages postés 97 Date d'inscription mercredi 11 avril 2001 Statut Membre Dernière intervention 9 janvier 2008 16
8 janv. 2008 à 15:32
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...

0
Bonjour,

$chn="[url:salut]";
$texte=":coucou";
$chn=substr($chn,0,strlen($chn)-1).$texte.substr($chn,-1);
echo $chn;
0
Mnu Messages postés 97 Date d'inscription mercredi 11 avril 2001 Statut Membre Dernière intervention 9 janvier 2008 16
8 janv. 2008 à 17:01
Merci, j'y avais pas pensé... Je vais regarder ce que je peux faire avec ça !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mnu Messages postés 97 Date d'inscription mercredi 11 avril 2001 Statut Membre Dernière intervention 9 janvier 2008 16
9 janv. 2008 à 00:57
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...
0