[PHP] problèmes avec balises html

problèmes avec balises html [PHP] - PHP - Programmation

Marsh Posté le 02-05-2008 à 08:47:53    

Bonjour, j'ai un petit soucis
 
J'ai un site ou je rentre des news. Le contenu de la news est enregistré tel quel dans la news, hormis les retours à la ligne qui sont convertis en <br /> automatiquement.
 
dans la news je tape
 
"testéèà@ï
<a href="google.fr">test </a>
"
 
et j'ai dans la base:
"testéèà@ï<br />
<a href=\"google.fr\">test </a>
"
 
Jusque la tout va bien.
 
Sur le site, une colonne div fait dérouler les news via un petit JS. Le contenu de la base est converti en latin vu que les accents sont en base.
 
j'utilise cela: echo htmlentities($tab["texte"], ENT_QUOTES, "ISO-8859-1" );.
 
l'affichage des accents se fait sans problèmes seulement le code html apparait en clair lorsqu'il y a une balise br et un lien par exemple. Comment fait? si je supprime le htmlentities l'html s'interprete correctement seulement gros problèmes d'accents.
 
En meta, j'ai bien le <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">.
 
je ne peux pas changer la conf d'apache concernant l'encodage
 
help  :sweat:

Reply

Marsh Posté le 02-05-2008 à 08:47:53   

Reply

Marsh Posté le 02-05-2008 à 10:29:37    

Le mieux serait de convertir ta base en utf-8 (j'ai expliqué comment dans un sujet, récemment) !


---------------
Directeur Technique (CTO)
Reply

Marsh Posté le 02-05-2008 à 11:39:59    

c'est normal htmlentities vas convertir les <>  de tes balises html, fait un truc du genre :

Code :
  1. $texte = htmlentities($tab['texte'], ENT_QUOTES, "ISO-8859-1" );
  2. $texte = eregi_replace("&lt;", "<", $texte);
  3. $texte = eregi_replace("&gt;", ">", $texte);
  4. echo $texte;

Reply

Marsh Posté le 02-05-2008 à 12:28:02    

masterpsx a écrit :

c'est normal htmlentities vas convertir les <>  de tes balises html, fait un truc du genre :

Code :
  1. $texte = htmlentities($tab['texte'], ENT_QUOTES, "ISO-8859-1" );
  2. $texte = eregi_replace("&lt;", "<", $texte);
  3. $texte = eregi_replace("&gt;", ">", $texte);
  4. echo $texte;



super merci  :sol:  
 
 
par contre, question à 10 balles, je dois juste faire le replacement des quotes aussi, seulement j'arrive plus à trouver la serie de slash pour remplacer le quote
 

Code :
  1. $texte = eregi_replace("&quot;", "???", $texte);


Message édité par duckxks le 02-05-2008 à 12:28:13
Reply

Marsh Posté le 02-05-2008 à 13:05:08    

Un antislash devant ca doit être bon je pense mais sinon tu n'as qu'a remplacer "ENT_QUOTES" par "ENT_NOQUOTES" de cette façon htmlentities() ne les convertira pas.
 
PS : Chéque ou Paypal ca me vas pour les 10 balles :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed