Une fonction particulièrement utile en PHP lors de la manipulation de chaînes de caractères : str_replace ("string replace").

Voici sa syntaxe :

str_replace("chaîne à remplacer","chaîne de remplacement","chaîne principale")

Cette fonction retourne la "chaîne principale" dans laquelle chaque occurence de la "chaîne à remplacer" est remplacé par une occurence de la "chaîne de remplacement"

Exemples :

  • str_replace("a","z","abcde") donne "zbcde"
  • str_replace("pierre","michel","pierre et aurélie") donne "michel et aurélie"
  • str_replace("%"," ","un%chat%qui%dort") donne "un chat qui dort"
  • str_replace("e","","une bonne année") donne "un bonn annné"

Une application simple mais efficace de cette fonction est l'inclusion de smileys dans une zone de texte simple et la restitution HTML du resultat.
Dans une zone de saisie de texte simple HTML de type < TEXTAREA >, il n'est pas possible d'intégrer directement des images de types "smileys". Un artifice consiste à intégrer un texte propre à chaque image, comme par exemple [lol] ou [colere] ou encore [love], pour les rendus suivants : . Lors de la restitution HTML du texte en incluant les images, il suffit d'insérer les lignes de code suivantes :

  • texte = str_replace("[lol]","< img src='adresse de image lol'>",texte);
  • texte = str_replace("[colere]","< img src='adresse de image colère'>",texte);
  • texte = str_replace("[love]","< img src='adresse de image d'amour'>",texte);

Exemple :

texte = "[lol] J'ai trouvé cette actrice superbe [love], par contre son ami est plutôt déagréable [colere]";

Ce qui donne après les lignes de codes indiquées plus haut :

J'ai trouvé cette actrice superbe , par contre son ami est plutôt déagréable

Ainsi, toutes les occurences de [lol], [colere] et [love] sont remplacées par les références aux images correspondantes !

Pour plus de précisions sur la fonction str_replace, consultez la documentation suivante : lien