Remplacement des chaînes dans un text
hammag
-
hammag -
hammag -
j'ai une fonction qui remplace des chaines de caractères dans un text avec des images représentants des smileys.
tout marche nickel, sauf quand je place mon smiley juste après du texte sans espace, ici l'image ne sera pas affichée mais c'est le texte du smiley qui sera affiché.
j'ai essayé de faire des modifications dans la formule preg_replace mais en vein
function do_smilies($text)
{
$smiley_text = array(':aie:',':ccool:',':D','8-)',':(',':lol:',':mrgreen:',':P',':oops:',';)',':king:',':mouarf:');
$dir = "\LIB\smiley";
$smiley_img = scandir($dir);
array_splice($smiley_img, 0,2);
$text = ' '.$text.' ';
$num_smilies = count($smiley_text);
for ($i = 0; $i < $num_smilies; ++$i)
$text = preg_replace("#(?<=.\W|\W.|^\W)".preg_quote($smiley_text[$i], '#')."(?=.\W|\W.|\W$)#m", '$1<img src="/FORUM/LIB/smiley/'.$smiley_img[$i].'" alt="'.substr($smiley_img[$i], 0, strrpos($smiley_img[$i], '.')).'" />$2', $text);
return substr($text, 1, -1);
}
tout marche nickel, sauf quand je place mon smiley juste après du texte sans espace, ici l'image ne sera pas affichée mais c'est le texte du smiley qui sera affiché.
j'ai essayé de faire des modifications dans la formule preg_replace mais en vein
A voir également:
- Remplacement des chaînes dans un text
- Remplacement coco - Accueil - Réseaux sociaux
- Coco.fr remplacement - Accueil - Réseaux sociaux
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Sms to text - Télécharger - Sauvegarde
- Comment remplacer un mot par un autre dans word - Guide
2 réponses
Bonjour,*
S'il vous plaît
Merci
Au revoir
etc.
Sont monnaie courante quand on veut obtenir quelque chose !
Saine lecture...
A voir aussi
;-)
* Ne pas en tenir compte si présent dans le message initial, mais bon vu qu'il est ajouté automatiquement, ça ne fait pas de mal.
S'il vous plaît
Merci
Au revoir
etc.
Sont monnaie courante quand on veut obtenir quelque chose !
Saine lecture...
A voir aussi
;-)
* Ne pas en tenir compte si présent dans le message initial, mais bon vu qu'il est ajouté automatiquement, ça ne fait pas de mal.