imnotgood | Bonsoire,
J'ai un gros problème, j'utilise des fonctions PCRE pour remplacer dans des caractères d'un texte contenu dans une variable.
(comme on utilise dans les forums et celui-ci).
Mon code :
Code :
- $msg=htmlentities(@$_POST["f_msg"]);
- $msg=eregi_replace("\[email\]([^ >\n\t]+)\[/email\]", "<a href=\"mailto:\\1\" class=\"txt_centre\">\\1</a>", $msg);
- $msg=eregi_replace("\[url\]([^ >\n\t]+)\[/url\]", "<a href=\"./jump.php?h=url&u=\\1\" class=\"txt_centre\" target=\"_blank\">\\1</a>", $msg);
- $msg=eregi_replace("\[img\]([^ >\n\t]+)\[/img\]", "<img border=\"0\" src=\"\\1\">", $msg);
- $msg=eregi_replace("\[b\]([^ >\n\t]+)\[/b\]","<b>\\1</b>",$msg);
- $msg=eregi_replace("\[i\]([^ >\n\t]+)\[/i\]","<i>\\1</i>",$msg);
- $msg=eregi_replace("\[u\]([^ >\n\t]+)\[/u\]","<u>\\1</u>",$msg);
- $msg=eregi_replace("\[code\]([^ >\n\t]+)\[/code\]","<div align=\"center\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"td_code\" width=\"90%\"><tr><td class=\"txt_code\"><p class=\"txt_code\"><b>Code :</b><br>\\1</td></tr></table></div>",$msg);
- $msg=eregi_replace("\[quote\]([^ >\n\t]+)\[/quote\]","<div align=\"center\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"td_code\" width=\"90%\"><tr><td class=\"txt_code\"><p class=\"txt_centre2\"><b>Citation :</b><br>\\1</td></tr></table></div>",$msg);
- $msg=ereg_replace("\[\*\]","<img border=\"0\" src=\"./img/puce.gif\">",$msg);
- print $msg;
|
Quand je n'ai pas beaucoup de texte, ça fonctionne nickel.
Quand j'en ai énormément et que je mets plusieurs fois et , il ne met rien en gras. Et ainsi de suite pour les autres caractères (italique, soul., lien,...).
Je ne comprends pas mon erreur.
Laurent Message édité par imnotgood le 09-12-2004 à 20:20:13
|