nisaloncaje
Messages postés154Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention28 septembre 2008
-
19 nov. 2006 à 19:23
nisaloncaje
Messages postés154Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention28 septembre 2008
-
26 nov. 2006 à 16:06
bonjour à tous :
j'ai le problème suivant en php :
j'ai une chaine de caractères $str. Cette chaine peut contenir deux sous chaines : $ss_str et $ss_str2
J'aimerais que pour chaque chaine $ss_str trouvée dans $str, une fois seulement, si elle existe, la chaine $ss_str2 qui la suit, et uniquement celle qui la suit soit remplacée par une chaine $ss_str3.
Je ne sais pas si j'ai été très clair donc je vais donné un exemple
$ss_str = '(';
$ss_str2 = ')';
$ss_str3=']'
$str = 'un message (dont certaine parties sont entre parenthèses) me pose des difficultés : la parenthèse ) ne doit pas etre remplacée.';
Ainsi il faudrait que l'on obtienne le message suivant :
'un message (dont certaine parties sont entre parenthèses] me pose des difficultés : la parenthèse ) ne doit pas etre remplacée.';
JulSoft
Messages postés354Date d'inscriptiondimanche 3 juin 2001StatutMembreDernière intervention11 mars 2013 20 nov. 2006 à 00:12
<?php
$ss_str = '(';
$ss_str2 = ')';
$ss_str3=']'
$str = 'un message (dont certaine parties sont entre parenthèses) me pose des difficultés : la parenthèse ) ne doit pas etre remplacée.';
if(strstr($str,$ss_str)!=FALSE && strstr($str,$ss_str2)!=FALSE){
$pos=($str,$ss_str); // la position de la première chaine
$str_coupee=explode($ss_str,$str,1); // on coupe en 2
$str2_coupee=explode($ss_str2,$str_coupee[1],1); // on découpe de nouveau
// on reassemble
$str=$str_coupee[0].$ss_str.$str2_coupee[0].$ss_str3.$str2_coupee[1];