2010-09-29 13 views
1

J'ai un formulaire de commentaire sur mon site web, qui, au moment où je filtre tout le HTML et le transforme en texte brut et remplace également les mots grossiers avec des mots drôles. Je veux être en mesure d'autoriser les utilisateurs à publier des images. Je ne pouvais pas voir comment l'incorporer à la page de commentaires, alors je l'ai mis sur une page séparée dédiée aux utilisateurs postant des images. Mais, je ne veux toujours pas autoriser d'autres html sauf img. En outre, protégez de l'injection de sql.Est-il possible d'autoriser uniquement les balises img dans le commentaire html?

Quelqu'un a-t-il des idées?

Merci.

+0

Alors, je peux parfaitement poster une image contenant un "mauvais mot"? – Gareth

Répondre

4

Deux méthodes décentes seraient en utilisant Tidy ou HTMLPurifier. Les deux filtres HTML très bien et sont hautement personnalisables pour répondre à vos besoins.

Avec purificateur (je parle d'expérience comme je l'ai utilisé) il vous permettra d'ajouter quelque chose comme:

img[src,alt,title] 

à la propriété balises autorisées, ce qui permet que les attributs de la balise img. Voir le site web pour plus d'informations/usages.

2

Oui, vous pouvez passer une liste des balises admissibles à la fonction de php strip_tags():

$clean_text = strip_tags($html_text, "<img>") ; 
+1

Oui, vous pouvez, mais je préfère ne pas avoir toutes sortes de javascript dans les attributs «on *» sur mon site. Assurez-vous d'effacer tous les attributs, sauf pour 'src' (et éventuellement' alt'/'title') – Wrikken

+0

ne pense même pas à cela. comment tu ferais ça? – Ascherer