ENLEVER DES BALISES HTML DANS UNE TEXTAREA

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 14 févr. 2008 à 16:26
Neo_Ryu Messages postés 21 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 6 juin 2011 - 13 janv. 2010 à 15:22
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/45745-enlever-des-balises-html-dans-une-textarea

Neo_Ryu Messages postés 21 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 6 juin 2011
13 janv. 2010 à 15:22
Afin d'aider les personnes qui désirerai sécuriser un peu mieux leur textarea par exemple, je recommande cette ligne de code :
nl2br(htmlentities($_POST['description']))

htmlentities va permettre de ne pas interpreter les balises html afind e les laisser telles qu'elle comme du texte ;
nl2br va interpréter le retour de chariot (touche entrée pour passer une ligne en gros) par un
qui sera lui compatible.

Tu peux éventuellement améliorer ta source en éliminant les lettres entre < et > puis appliquer le filtre, enfin a réfléchir ^^
cs_keket Messages postés 91 Date d'inscription lundi 25 juillet 2005 Statut Membre Dernière intervention 18 mai 2010
8 déc. 2009 à 08:31
Bonjour, je reviens sur cette source horrible que j'avais pondus. La version v2 devrait voir le jour bientôt car je viens seulement de constater que j'avais oublier cette dernière. Désoler pour le retard. Cordialement
abdelaziz_info Messages postés 120 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 12 janvier 2017
25 févr. 2008 à 02:11
Bonjour à tous :

Sauf ceux qui aiment ce qu’ils font qui attendent avec impatience la résulta de leur travail, ne t’inquiètes pas (coucou747) tu as souvent des très bonnes idées que j’apprécie bien ….
En plus le premier code que j’ai testé en arrivant sur (phpcs) été le tien, et ça fonctionnait parfaitement ; je ne l’ai pas noté mais je vais immédiatement le faire, et je te merci.

Pour ce code en cotés technique et théorique les experts ont dit leurs mots, mais du coté pratique ce code fonctionne et ne déclanche aucune alerte d’erreur sauf les espaces qui remplacent les balises :
Avec ($balise," ",$txt) avec ça ($balise,"",$txt) le texte est plus correcte.

Merci à tous et bon courage.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
19 févr. 2008 à 17:40
j'ai aucune idee de comment dire ca... il y a plein de fois ou sur le net, je posais une question, et on me disait des trucs genre :
"mais rtfm sale noob"
ou genre
"debrouille toi seul ou avec google"
alors comment dire a un mec qu'il a fait un truc pas terrible et qu'il devrait se documenter ? Si ce n'est : lister les erreurs pour qu'il puisse poser des questions et chercher sur google plus facilement ?

je croyais ma facon de commenter les sources et repondre au forum, plus courtoise et plus utile...

ne faire que lister les erreurs et proposer des ameliorations sans m'impliquer, sans dire ce que j'en pense vraiment, je croyais que c'etait la solution la plus "politiquement correcte" de m'adresser aux auteurs de sources...

mettre un tu peux plait
mettre un tu aurais du, tu dois, tu ne dois pas, ne plait pas...

je ne comprends pas vraiment pourquoi quand je dis que le code ici ne DOIT PAS etre utilise, ca choque, alors que quand qqn dit qu'on ne doit pas diviser par 0 en math, ca ne derange personne...

sur ce, je ne commente pas pour etre aime, sinon, j'ajouterais plein de <3 :) ^^ partout, et personne n'en aurait rien a faire...

par contre, quand je vois une source `debutant`, j'aimerais qu'on me laisse tranquile quand j'essaie de lui expliquer comment il doit coder pour poster ses prochaines en `initie`, voir updater la source vers `initie`, si il la travaille correctement...

c'est pas en crachant a la figure des gens qu'on en obtient quelquechose, j'en suis certain, mais je n'ai jamais(ou rarement) crache a la figure des gens, sur CS, a partir d'une simple source (j'ai fait d'autres erreurs, j'en conviens), j'ai critique le code qu'ils avaient soumis a la critique.... je liste les defauts de la source, pas de l'auteur....

si tu vas voir un skyblog au hazard, tu verras des trucs genre : "wesh T tro bo" ca c'est pas qqch de constructif, ici, les commentaires n'ont pas ce role... quand on poste, c'est pas dans le but de lire :
"super cool, c'est tout ce que je cherchais"
parce-que ce qu'un inconu cherche, on s'en fout quand on poste...
on poste pour partager, certe, mais pas seulement pour partager un code, pour partager une methode, un algo, etc... On poste aussi pour s'ameliorer, et c'est pour ca qu'un commentaire genre "a la ligne 42 t'as une faille de securite" poste sans courtoisie, de facon brute, sera TOUJOURS plus utile que "trop cool comme code !"

alors je pourrais faire comme les admins CS : ajouter "cordialement" a la fin de mes commentaires, mais j'ai aucune envie de m'impliquer dedans... je liste les defauts, si il ameliore, je note, sinon, je quitte, et quand qqn revient plusieurs mois apres, si il dit genre "trop bien" alors que la source est toujours aussi mauvaise, je mets "1/10" pour que personne ne se leure... je mets rarement 1/10 comme ca, des les premiers jours, pour le plaisir de mettre 1/10... Et j'en ai marre de me faire insulter sur CS aussi, donc si je sors un "cordialement", ou autre formules (pompeuses) du genre, ca risque de se retourner contre moi, a un autre moment...

Sur ce, c'est toujours un plaisir de voir que mes critiques sont lues, que mes propositions d'ameliorations servent a quelquechose, et j'attend avec impatience la V2 de ce code (non pas pour l'utiliser, mais pour voir si mes critiques (bien que parfois brutales) sont utiles ou pas)
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
19 févr. 2008 à 17:05
Utiliser une variable globale, c'est déjà mieux, mais c'est quand meme déconseillé (moin que l'inclusion dans la fonction, jte rassure ;)).
En fait, tout ce que tu veux que ta fonction utilise, fait lui passer en paramètre. Si j'ai rien loupé, ton fichier globales.inc.php ou ta variable globale contient un tableau de balises que tu veux garder c'est ca ? Si oui passe lui en deuxième paramètre un tableau contenant la liste des éléments que tu veux garder et hop ! :)
cs_keket Messages postés 91 Date d'inscription lundi 25 juillet 2005 Statut Membre Dernière intervention 18 mai 2010
19 févr. 2008 à 15:48
salut, par manque de temps, j'ai pas pu changer mon script, mais je le ferais plus tard.
j'ai réussi a changer mon include dans mon code par une variable globale, sa fait plus bo :p. A +. Et merci Malalam ;)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
19 févr. 2008 à 09:37
@cload => je suis d'accord avec toi, et je suis bien conscient que Coucou s'emporte parfois un peu trop. Et je sais qu'il le sait aussi. EZt qu'il entendra ce message :-)
cload Messages postés 8 Date d'inscription jeudi 29 janvier 2004 Statut Membre Dernière intervention 19 février 2008
19 févr. 2008 à 08:14
Désolé pour mon ambiguité Malalam, je parlais de coucou.Et je suis assez d'accord avec ton commentaire.
Mais, avec sa réaction, je vois que le 747 sais aussi mettre de l'eau dans le vin (au figuré, bien sur). Il fait partie des plus brillants de coudesource mais sa façon rebrousse-poil finit par... rebrousser le poil.
On a tous débuté. Et on n'a pas persévéré parce que des caïds nous écrasaient, mais nous encourageaient.
Mes excuses aux modérateurs semblant mis en cause (Malalam, Codefalse...) : j'apprécie toujours vos commentaires qui sont toujours mesurés. Ma demande est de calmer certains débordements. Cela ne retire rien aux qualités de ceux qui les émettent et j'ai beaucoup appris grace à coucou747. Mais de bonnes limites dans la comm ne peuvent pas faire de mal.
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
18 févr. 2008 à 20:45
Codes-Source a la mauvaise réputation d'être un site qui critique toutes les sources, avec toujours de mauvais avis, sec, méchant parfois même insultant. Je comprends que quand on passe 1 jour, 1 semaine, 1 mois sur un truc dont on est fière, que l'on veux le partager, et qu'en échange on obtient des "tu peux faire ça en une ligne", "ton code est assez moche", et parfois pire, genre juste un "c'est nul !".
La chose importante, c'est que le commentaire est pour la plupart du temps expliqué, c'est ca qu'il faut retenir !

Malalam à déjà résumé les grandes lignes, je vais pas le répeter. Je tiendrai juste à dire que quand je laisse une source qui devrait être supprimée, je met généralement une remarque à l'auteur de la source comme quoi s'il ne fait pas d'efforts pour l'améliorer, il se verra sa source supprimée.
Car c'est ca qui est important ! Que vous ayez posté un code de x lignes qu'une fonction toute faite fait déjà et que vous ne cherchez pas à la rendre meilleure, je ne vois pas l'utilité de la laisser. Maintenant si vous montrez l'importance que vous y attachez, alors elle aura tout son mérite à y rester !

Courage et perseverez !
(Surtout vous, Malalam et Coucou, vous avez tant à apprendre ! ;) :p) )
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
18 févr. 2008 à 20:02
@cload =>
que n'aimes-tu pas ? Mon "tact", ou "l'explosion de gueule" de Coucou ?

Une chose est certaine : il est difficile de répéter 1000 fois les mêmes choses en gardant son calme, malheureusement.
Certes, parfois, et selon les caractères..."on" y va un peu trop fort.
Il n'empêche, quand on poste un code sur phpcs, c'est sans doute qu'on est "actif" sur phpcs, même si notre activité consiste à lire les commentaires et post. Et à ce compte là, il me semblerait normal de tâcher de ne pas faire les mêmes bêtises qui ont été maintes fois décriées. Sinon, forcément, on s'expose à être aussi décrié.

Pour être franc, j'ai hésité à supprimer ce code, avec simplement ma remarque en commentaire pour l'auteur. Mais ce code est une réponse (mauvaise certes pour les raisons cités, mais une réponse quand même) à une problématique fréquente. Mon espoir donc est que quelqu'un ayant le même problème tombe sur ce code, LISE les commentaires et les utilise à bon escient. Là où je me leurre bien évidemment c'est que la plupart du temps, ce quelqu'un va tomber sur ce code, ne tenir aucun compte des commentaires et l'appliquer tel quel.
Et ce même quelqu'un , un jour, postera sur phpcs un code présentant les mêmes erreurs, et...forcément, il sera critiqué.
Et ça, ça me gêne...parce que si je virais tous les codes "mal codés" de phpcs, ce quelqu'un serait bien obligé -sans même le savoir- de n'avoir que de bons exemples sous les yeux.
La critique n'est jamais agréable. Mais personne n'a jamais dit que l'apprentissage était un chemin facile et bordé de jolies petites fleurs, sous un ciel magnifique et un soleil radieux. SAUF quand on tâche vraiment d'appliquer les conseils -avisés tant qu'à faire- de personnes plus expérimentées.
Certains codes de débutants sont bien accueillis, d'autres moins. A qui doit en incomber la faute, réellement?

De plus, keket a bien réagi je trouve. Ce que j'aimerais maintenant, c'est qu'il propose une alternative mieux foutue à son code, de manière à bien montrer la "good practise". Mais sans supprimer la "bad practise" parce ce que sinon son code se résumerait soit à une fonction php existante, soit à une simple expression régulière...ça n'aurait pas grand intérêt ici (plutôt sur codyx.org).
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
18 févr. 2008 à 19:33
lister les problemes d'une soure, c'est pas la meme chose qu'exploser la gueule de qqn...

j'aurais du dire quoi ? un truc genre :

"j'ai le regret de t'annoncer que la balise <? n'est pas activee sur mon serveur, tu devrais utiliser <?php pour la compatibilite, ce qui me permettrait d'utiliser avec joie ton formidable script, apres avoir change tes balises en equivalent ``a la norme``."
cload Messages postés 8 Date d'inscription jeudi 29 janvier 2004 Statut Membre Dernière intervention 19 février 2008
18 févr. 2008 à 19:01
Pauvre keket ! Voilà bien l'art de casser. Malalam donne des infos avec tact. Coucou explose la gueule de tous les trous du q qui, bien que classant humblement leur script en débutant, ont l'audace de ne rien apprendre au vieux loup du regex dans le plus que parfait.
Plus personne ne va oser proposer de code à ce rythme !
Il n'y a pas de modérateur ici ?
cs_keket Messages postés 91 Date d'inscription lundi 25 juillet 2005 Statut Membre Dernière intervention 18 mai 2010
15 févr. 2008 à 19:05
lol, désolé, je le savais pas. Jdemandais juste de laide pour le faire sur le fofo, mais personne n'a réussi a me donner une réponse, je me suis débrouiller comme je pouvais ^^.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
15 févr. 2008 à 11:29
ton code est assez moche pour certains trucs (un include dans une fonction, un vieux html, etc...), ton code est en vieux php4 (php6 va sortir bientot), on aurait pu s'attendre a voir une truc genre "classe traitement de html & BBcode" mais non, ton code ne fait "que" supprimer des balises non desirees, et il le fait mal :

de plus, une fonction standard le faisait deja....
cs_Amnesiak Messages postés 2 Date d'inscription lundi 21 octobre 2002 Statut Membre Dernière intervention 15 février 2008
15 févr. 2008 à 08:38
Et oui, strip_tags() et son paramètre "liste blanche" t'auraient épargné tout ce travail ;-)
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
14 févr. 2008 à 23:31
En effet, une seule ligne te permet cela avec les expressions régulieres ! :p
Perdu ! Tout ce temps de gaché !

Sinon, "Code a simplifier peut être", euh oui :
# ?><script>alert('tototo');</script><?

;)
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
14 févr. 2008 à 23:28
+1 avec Malalam...
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
14 févr. 2008 à 16:26
Hello,

tu peux faire ça en une ligne avec :
- une expression régulière
- http://www.php.net/manual/fr/function.strip-tags.php
Rejoignez-nous