Exclure les <br /> de htmlentities

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Exclure les <br /> de htmlentities

par samsayan » 03 avr. 2009, 11:39

Oui en effet je viens de penser à cette solution, je ne vois pas pourquoi j'y ai pas pensé plus tôt !

Aussi, j'avais dans l'idée de faire une sorte de br2nl avant et un nl2br après mais c'est bête !

Merci

par Ryle » 03 avr. 2009, 11:34

Pourquoi ne pas simplement restaurer les balises <br /> avec un str_replace() après ton traitement ?

Exclure les <br /> de htmlentities

par samsayan » 03 avr. 2009, 11:24

Bonjour,

Je suis face à un problème que je n'arrive pas à résoudre.

En effet, sur un site, travaillant sous UTF-8 (niveau pages, code, et base de données), je dois afficher une page au format ISO-8859-1 car elle est destinée à un service externe ne gérant pas l'UTF-8.

J'ai donc en base de données, des données au format UTF-8 qui sont saisies par des utilisateurs pouvant comprendre du HTML, ex :
Héhé <br>saut de ligne<br>haha<br>hô hô<br>
Ma problématique, est que sur la page affichant ces données en ISO, il faudrais non seulement que ces données soient converties en ISO mais qu'en plus que les caractères spéciaux HTML soient utilisés.

Par exemple, si je reprend la chaine au dessus, mon résultat devrait être :
H&eacute;h&eacute; <br>saut de ligne<br>haha<br>h&ocirc; h&ocirc;<br>
J'ai tenté de passer par htmlentities, mais le soucis c'est que mes <br> sont évidemment converti en texte...

Comment pourrais-je effectuer la conversion des caractères spéciaux, puis un utf8-decode sans casser le code HTML présent dans les chaînes ?

J'ai pensé a une regex mais hélas je n'y connais quasiment rien...

Avez-vous une piste ?

Merci