Eléphant du PHP |
224 Messages
17 mai 2008, 15:04
Bonjour
Voici 3 pistes :
1. On connaît l'emplacement (l'index) où placer le nouvel extrait :
$chaineOriginale = 'Et un cafe';
$extraitDebut = 3;
$extraitNouveau = 'un the ou ';
$chaineNouvelle = substr($chaineOriginale, 0, $extraitDebut).$extraitNouveau.substr($chaineOriginale, $extraitDebut);
echo $chaineNouvelle; // 'Et un the ou un cafe'
2. On ne connaît pas l'emplacement où placer le nouvel extrait, mais on connaît le premier extrait de texte devant lequel placer le nouvel extrait :
$chaineOriginale = 'Et un cafe';
$extraitOriginal = 'un';
$extraitNouveau = 'un the ou ';
$positionExtrait = strpos($chaineOriginale, $extraitOriginal);
$chaineNouvelle = substr($chaineOriginale, 0, $positionExtrait).$extraitNouveau.substr($chaineOriginale, $positionExtrait);
echo $chaineNouvelle; // 'Et un the ou un cafe'
3. On ne connaît pas l'emplacement où placer le nouvel extrait, mais on connaît le premier extrait de texte devant lequel placer le nouvel extrait et on est sûr que l'extrait repère est unique (il n'existe pas plusieurs fois dans le texte original) :
$chaineOriginale = 'Et un cafe';
$extraitOriginal = 'un';
$extraitNouveau = 'un the ou ';
$chaineNouvelle = str_replace($extraitOriginal, $extraitNouveau.$extraitOriginal, $chaineOriginale);
echo $chaineNouvelle; // 'Et un the ou un cafe'
Voilô... d'autres solutions sont également possibles, selon ce qu'on a exactement comme informations et données au départ, en utilisant les expressions régulières par exemple...
à+

Fredo d;o)
"Un pas à la fois me suffit..." (Gandhi)