03-02-2011, 09:25 PM
bonsoir
je me permet de revenir sur ce vieux topic car j'ai un dernier tout petit soucis avec mon parseur de bbcode, pour commencer un exemple en image de ce qui doit être obtenu:
mon parseur fonctionne comme ceci:
je "scanne" les données à parser afin d'en sortir un array qui me servira à convertir les bbcode en html par exemple dans ce cas:
cet array me sert lors de la conversion des bbcodes en html, pas de problème...
là où se situe mon problème c'est qu'il peut y avoir des entités html dans le texte et au sein même des bbcode
CAS #1:
si je passe dans un premier temps mes données issues de la base de données dans un htmlspecialchars() je me retrouve avec ceci :
[player]<a>lphonse[/player] mais je n'ai pas de joueur nommé <a>lphonse car il se nomme <a>lphonse donc je ne peut pas parser le BBcode
CAS #2:
si je passe dans un premier temps mes données issues de la base de données dans un parseur BBcode je me retrouve avec ceci:
<a href="joueur.php?id=12"><a>lphonse</a>
puis je le passe dans le htmlspecialchars() (à cause du texte qui peut contenir du html) et là catastrophe j'obtiens:
<a href="joueur.php?id=12"><a>lphonse</a>
ce qui n'est plus un lien mais du texte...
je ne sais plus trop comment m'y prendre avec mon parseur pour convertir les entités html du texte mais pas ceux qui peuvent être contenu dans les bbcodes...
désolé si ce n'est pas très clair
merci pour ceux qui auront eu le courage de lire ces derniers mots
je me permet de revenir sur ce vieux topic car j'ai un dernier tout petit soucis avec mon parseur de bbcode, pour commencer un exemple en image de ce qui doit être obtenu:
mon parseur fonctionne comme ceci:
je "scanne" les données à parser afin d'en sortir un array qui me servira à convertir les bbcode en html par exemple dans ce cas:
array(['<a>lphonse'] => '<a href="joueur.php?id=12"><a>lphonse</a>')
cet array me sert lors de la conversion des bbcodes en html, pas de problème...
là où se situe mon problème c'est qu'il peut y avoir des entités html dans le texte et au sein même des bbcode
CAS #1:
si je passe dans un premier temps mes données issues de la base de données dans un htmlspecialchars() je me retrouve avec ceci :
[player]<a>lphonse[/player] mais je n'ai pas de joueur nommé <a>lphonse car il se nomme <a>lphonse donc je ne peut pas parser le BBcode
CAS #2:
si je passe dans un premier temps mes données issues de la base de données dans un parseur BBcode je me retrouve avec ceci:
<a href="joueur.php?id=12"><a>lphonse</a>
puis je le passe dans le htmlspecialchars() (à cause du texte qui peut contenir du html) et là catastrophe j'obtiens:
<a href="joueur.php?id=12"><a>lphonse</a>
ce qui n'est plus un lien mais du texte...
je ne sais plus trop comment m'y prendre avec mon parseur pour convertir les entités html du texte mais pas ceux qui peuvent être contenu dans les bbcodes...
désolé si ce n'est pas très clair
merci pour ceux qui auront eu le courage de lire ces derniers mots