PB bbcode !
6 messages
• Page 1 sur 1
- thierry8
- WRInaute accro

- Messages: 3251
- Inscription: 11 Juil 2005
PB bbcode !
Bonjour,
J'ai un pb avec le bbcode en php.
Je m'explique...:
Avec le formulaire si l'utilisateur (tout comme sur le forum ici présent) clique sur gras (=B) les balises suivantes s'insère: . Pour cette partie pas de problème (javascript ok). Cependant lorsque coté serveur je récupère le POST du formulaire et du texarea en question je le fais de cette manière:
$ variable =
Le problème qui se pose c'est htmlspecialchars car cette fonction, comme vous le savez à pour effet de convertir les caractères spéciaux en entités HTML. Ce qui fais que lorsqu'un utilisateur insère une URL de ce type: (je rajoute volontairement les _ à ne pas prendre en compte)
[_url="www.site.fr"]mon lien[_/url]
Et bien la fonction htmlspecialchars me convertie les " par ", ce qui fait que lorsque je veux remplacer mon bbcode en html cela ne fonctionne pas car il ne trouve pas les ".
Je fais appelle à vous car après plusieurs recherche et test je reste sur mes pennes...
Merci Ô grand seigneur qui voudra bien m'aider...!
Thierry
J'ai un pb avec le bbcode en php.
Je m'explique...:
Avec le formulaire si l'utilisateur (tout comme sur le forum ici présent) clique sur gras (=B) les balises suivantes s'insère: . Pour cette partie pas de problème (javascript ok). Cependant lorsque coté serveur je récupère le POST du formulaire et du texarea en question je le fais de cette manière:
$ variable =
- Code: Tout sélectionner
(trim(htmlspecialchars(nl2br(addslashes($_POST['msg_mentionslegales'])))))
Le problème qui se pose c'est htmlspecialchars car cette fonction, comme vous le savez à pour effet de convertir les caractères spéciaux en entités HTML. Ce qui fais que lorsqu'un utilisateur insère une URL de ce type: (je rajoute volontairement les _ à ne pas prendre en compte)
[_url="www.site.fr"]mon lien[_/url]
Et bien la fonction htmlspecialchars me convertie les " par ", ce qui fait que lorsque je veux remplacer mon bbcode en html cela ne fonctionne pas car il ne trouve pas les ".
- Code: Tout sélectionner
$text = preg_replace('!\[url="(.+?)"\](.+?)\[\/url\]!', '<a href="$1">$2</a>', $text);
Je fais appelle à vous car après plusieurs recherche et test je reste sur mes pennes...
Merci Ô grand seigneur qui voudra bien m'aider...!
Thierry
-

Twister - WRInaute impliqué

- Messages: 619
- Inscription: 16 Jan 2004
Salut,
essaie avec ce code, je ne crois pas qu'il pose de problèmes de sécurité :

essaie avec ce code, je ne crois pas qu'il pose de problèmes de sécurité :
- Code: Tout sélectionner
(trim(str_replace( array( "<", ">" ), array( "<", ">" ), nl2br(addslashes($_POST['msg_mentionslegales'])))))
- thierry8
- WRInaute accro

- Messages: 3251
- Inscription: 11 Juil 2005
j'ai essayer cela:
je récupère mon post, puis je fais la fonction htmlspecialchars ce qui me transforme mes " en " ! ensuite je voudrais remplacer mes " par " ,pour parser ca en html, puis ensuite une fois fais reparser le tout de " vers "...
voyez vous ?
mais il ne me trouve pas le " il en revanche j'ai essayé le quot; ca foncitonne il trouve, mais pas bon comme il reste le & !
- Code: Tout sélectionner
$msg_mentionslegales = ((isset($_POST['msg_mentionslegales'])) ? (nl2br(trim(htmlspecialchars(addslashes($_POST['msg_mentionslegales']))))) : (''));
$msg_mentionslegales = str_replace('"', '"', $msg_mentionslegales);
$msg_mentionslegales = bbcode_html($msg_mentionslegales);
je récupère mon post, puis je fais la fonction htmlspecialchars ce qui me transforme mes " en " ! ensuite je voudrais remplacer mes " par " ,pour parser ca en html, puis ensuite une fois fais reparser le tout de " vers "...
voyez vous ?
mais il ne me trouve pas le " il en revanche j'ai essayé le quot; ca foncitonne il trouve, mais pas bon comme il reste le & !
6 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Les meilleures extensions Firefox pour le référencement - 19-02-2010
- Le forum WebRankInfo sur mobile / smartphone - 13-01-2011
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

