Blueb Posté 22 Septembre 2005 Partager Posté 22 Septembre 2005 Bonjour, Dans un texte contenu dans la variable $contenu, j'aimerais remplacer la première occurence du mot allergène pour le souligner. Avec le code : $contenu = str_replace("allergène","<u>allergène</u>",$contenu); ?> il me remplace toutes les occurences du mot allergène de la variable $contenu. Connaissez un moyen de ne souligner que la première occurence du mot allergène? Merci d'avance. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 22 Septembre 2005 Partager Posté 22 Septembre 2005 Bonjour, Il te faut utiliser soit les expressions régulières, soit la fonction strpos, qui te permet de trouver la position de 'la première occurence d'une chaine', dans une autre chaine. Une fois trouvée, tu n'as plus qu'à découper la chaine en question en 2 (avec substr() ), puis à effectuer le remplacement sur la première partie (avec str_replace() ), puis à recoller les 2 morceaux (avec.. un point ). Sinon, il te reste les expressions régulières, qui... ne sont pas si terribles que ca Anonymus. Lien vers le commentaire Partager sur d’autres sites More sharing options...
loufoque Posté 22 Septembre 2005 Partager Posté 22 Septembre 2005 $contenu = substr_replace($contenu, '<u>allergène</u>', strpos($contenu, 'allergène'), 9); Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 22 Septembre 2005 Partager Posté 22 Septembre 2005 Bonjour, La fonction preg_replace permet l'utilisation d'un quatrième paramètre représentant le nombre de remplacements à effectuer. En son absence, sa valeur est de -1, signifiant "pas de limite". Donc: $chaine=preg_replace("/allergène/","<u>allergène</u>",$chaine,1); remplacera seulement la première occurence de "allergène" par sa version soulignée dans $chaine Elle a aussi l'avantage de pouvoir prendre des tableaux pour les deux premiers arguments, dans le cas de remplacements multiples. Dan Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant