JeuWeb - Crée ton jeu par navigateur

Version complète : Bbcode [IMG] + transformation des URL texte
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Bonjour à tous,
Je ne suis pas très doué en regex alors je bidouille les codes sur le net pour avoir quelque chose de convenable mais j'ai du mal avec le mélange du bbcode dedans.

Voici mon problème :

[ img ]http://monimage.png[/img] transforme en <img src='http://monimage.png' />
Puis la détection d'url va transformer le tout en : <img src='<a href='http://monimage.png'' />

Le code actuel est :

$chaine = preg_replace('/\[img\](.+?)\[\/img\]/', '<img src="$1" alt="" title="" />', $chaine);
/* Détecter URL et les transformer en lien */
$chaine = eregi_replace("(http|mailto|news|ftp|https)://(([-éa-z0-9\/\.\?_=#@:~])*)",
"<a href=\"\\1://\\2\">\\1://\\2</a>", $chaine);

Donc il faudrait détecter <img src=' et ne pas afficher l'url mais comment faire ?

Merci ! Smile
et traiter les url avant de traiter les bbcode IMG?
On dirais que ton code se transforme en commentaire...
normal il a mis une coloration pour php.
Pour répondre a ta question, si tu as un ' (apostrophe) avant l'adresse (avant http|ftp|...), tu peux ignorer l'adresse a modifier. En regex, tu peux lui indiquer ça. Je crois que ça va résoudre ton problème. Je ne te fournis pas la solution, mais une piste, a toi de chercher (trop occupé pour le moment pour le faire :p )
(17-01-2011, 08:12 PM)Catar4x a écrit : [ -> ]Le code actuel est :

$chaine = preg_replace('/\[img\](.+?)\[\/img\]/', '<img src="$1" alt="" title="" />', $chaine);
/* Détecter URL et les transformer en lien */
$chaine = eregi_replace("(http|mailto|news|ftp|https)://(([-éa-z0-9\/\.\?_=#@:~])*)",
"<a href=\"\\1://\\2\">\\1://\\2</a>", $chaine);

Je ne sais pas d'où vient ta chaine de caractère d'origine, mais si c'est saisie par un utilisateur attention, c'est une très grosse faille de sécurité... en effet, dans la chaine, l'utilisateur peut alors mettre n'importe quoi qui sera envoyé tel quel aux autres utilisateurs

par exemple :

[img]mon/image.png" /><script>window.open('mon site porno')</script><img src="mon image[/img]

Il faut toujours filtrer les saisies utilisateur pour ne bien récupéré qu'une URL d'image et pas du code pourri dedans...
(Règle numéro 1 de la sécurité : Never Trust User Data / Ne jamais faire confiance aux données saisies par un utilisateur)