Probleme de htmlentities et preg_replace
Fermé
milout
-
8 sept. 2009 à 07:19
milout Messages postés 7 Date d'inscription samedi 5 septembre 2009 Statut Membre Dernière intervention 15 septembre 2009 - 8 sept. 2009 à 08:48
milout Messages postés 7 Date d'inscription samedi 5 septembre 2009 Statut Membre Dernière intervention 15 septembre 2009 - 8 sept. 2009 à 08:48
5 réponses
moderno31
Messages postés
870
Date d'inscription
mardi 23 juin 2009
Statut
Membre
Dernière intervention
8 août 2012
92
8 sept. 2009 à 07:53
8 sept. 2009 à 07:53
Hello
htmlentities - Convertit tous les caractères éligibles en entités HTML
ce n'est peutre pas approrié pour ce qu tu veux faire.
tu devrais regarder
strip_tags — Enlève les balises HTML et PHP.
htmlspecialchars — Converti tous les caractères spéciaux en équivalent HTML.
Sinon la fonction htmlentities fait le bon traitement. si tu veux inverser, faut bricoler
htmlentities - Convertit tous les caractères éligibles en entités HTML
ce n'est peutre pas approrié pour ce qu tu veux faire.
tu devrais regarder
strip_tags — Enlève les balises HTML et PHP.
htmlspecialchars — Converti tous les caractères spéciaux en équivalent HTML.
Sinon la fonction htmlentities fait le bon traitement. si tu veux inverser, faut bricoler
<quote>
Sinon la fonction htmlentities fait le bon traitement. si tu veux inverser, faut bricoler</quote>
c'est bien ce que je veux faire, inverser le htmlentities mais seulement pour ma balise de lien (sinon ca servirait a rien :o) et le probleme c'est que je suis pas tres bricoleur !
Si une personne a une piste pour démarrer .
merci
Sinon la fonction htmlentities fait le bon traitement. si tu veux inverser, faut bricoler</quote>
c'est bien ce que je veux faire, inverser le htmlentities mais seulement pour ma balise de lien (sinon ca servirait a rien :o) et le probleme c'est que je suis pas tres bricoleur !
Si une personne a une piste pour démarrer .
merci
moderno31
Messages postés
870
Date d'inscription
mardi 23 juin 2009
Statut
Membre
Dernière intervention
8 août 2012
92
8 sept. 2009 à 08:18
8 sept. 2009 à 08:18
si ce sont des scripts malveillants que tu veux te protéger, fait un str_replace des mots clés de SQL (insert, delete, update...) par "".
Et récupère seulement ton url sans la filtrer. Parce que là j'avoue ne pas bien comprendre pourquoi tu veux faire ça
Et récupère seulement ton url sans la filtrer. Parce que là j'avoue ne pas bien comprendre pourquoi tu veux faire ça
Oh je suis bête j'ai oublié de dire que les messages sont affichés (c'est une shoutbox) donc c'est pour éviter les codes js surtout.
je suis arrivé à recupérer un code pour une balise simple <a> , me reste plus qu'a trouver finalement le bon regex pour la balise <a href="blabla">[url]</a> .
Voila le debut du code pour ceux que ca interesse :
$txt = htmlentities(txt);
$in = '(<(/?(?:a)\b.*?)>)ie'; // me reste plus qu'a adapter le regex a ma balise
$txt = preg_replace($in, "'<'.html_entity_decode('$1').'>'",$txt);
Du coup sur cet exemple la balise <a> marche bien et toutes les autres sont modifier par htmlentities et donc sont affichées plutot qu'éxéxuté dans ma shoutbox (a 2fr50 on est d'accord !).
Voila jespere que je fais pas n'importe quoi oo
je suis arrivé à recupérer un code pour une balise simple <a> , me reste plus qu'a trouver finalement le bon regex pour la balise <a href="blabla">[url]</a> .
Voila le debut du code pour ceux que ca interesse :
$txt = htmlentities(txt);
$in = '(<(/?(?:a)\b.*?)>)ie'; // me reste plus qu'a adapter le regex a ma balise
$txt = preg_replace($in, "'<'.html_entity_decode('$1').'>'",$txt);
Du coup sur cet exemple la balise <a> marche bien et toutes les autres sont modifier par htmlentities et donc sont affichées plutot qu'éxéxuté dans ma shoutbox (a 2fr50 on est d'accord !).
Voila jespere que je fais pas n'importe quoi oo
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
milout
Messages postés
7
Date d'inscription
samedi 5 septembre 2009
Statut
Membre
Dernière intervention
15 septembre 2009
8 sept. 2009 à 08:48
8 sept. 2009 à 08:48
bon en faite je faisais n'importe quoi, merci moderno me trompait bien de fonction :(