Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#1 07-01-2008 03:58:11

geraldinecmc
Membre
Date d'inscription: 15-11-2007
Messages: 15

Problème formatage des apostrophes php>xml

Bonjour!

J'ai un petit problème avec les apostrophes... J'ai un fichier html avec un formulaire qui appelle un fichier php qui se charge de transformer le texte saisi en un fichier xml. Le problème est que dans le xml sortant, toutes les apostrophes sont remplacées par   ///' 

Voici mon script php :

Code:

 <style type="text/css">
<!--
body {
    background-color: #0781B4;
}
.Style1 {    font-family: Geneva, Arial, Helvetica, sans-serif;
    color: #003399;
}
-->
</style><?php
$texte = addslashes(htmlspecialchars($_POST['donnees']));
$xml ='
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SCROLL>
<font color="#9AE0FE">ACTUALITE <br>
  '.$texte.'
</font>
</SCROLL>';
$fichier = '/blabla/news.xml';
$chemin = fopen($fichier, 'w');
fwrite($chemin, "$xml");
echo "La mise à jour a été effectuée correctement.";
?><title>ADMINISTRATION</title>
<a href="admin.html" class="Style1">MENU PRINCIPAL</a>

Comment puis-je faire pour éviter ce problème? Merci d'avance pour votre aide!

Hors ligne

 

#2 07-01-2008 10:43:58

geraldinecmc
Membre
Date d'inscription: 15-11-2007
Messages: 15

Re: Problème formatage des apostrophes php>xml

On m'a envoyé vers les xmlentities, mais je ne sais pas trop comment m'y prendre...

Hors ligne

 

#3 08-01-2008 03:40:53

geraldinecmc
Membre
Date d'inscription: 15-11-2007
Messages: 15

Re: Problème formatage des apostrophes php>xml

Re!

En fait, apparemment, il faut que j'intègre cette fonction à mon code, mais je n'y arrive pas. Je l'ai mis au début, et en fait, ça ne change rien.

Code:

// XML Entity Mandatory Escape Characters 
function xmlentities($string) { 
   return str_replace ( array ( '&', '"', "'", '<', '>', '�' ), array ( '&amp;' , '&quot;', '&apos;' , '&lt;' , '&gt;', '&apos;' ), $string ); 
}

Hors ligne

 

#4 08-01-2008 18:07:12

Shiva
Moderateur
Lieu: BONNEUIL SUR MARNE
Date d'inscription: 15-11-2005
Messages: 299
Site web

Re: Problème formatage des apostrophes php>xml

Salut,
Remplace addslashes par stripslashes

Hors ligne

 

#5 09-01-2008 03:31:24

geraldinecmc
Membre
Date d'inscription: 15-11-2007
Messages: 15

Re: Problème formatage des apostrophes php>xml

Hello
Merci pour ta réponse Shiva! j'ai effectivement remplacé addslashes par stripslashes et j'ai rajouté un CDATA dans le bloc xml :

Code:

$xml ='
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SCROLL>
<font color="#9AE0FE">ACTUALITE <br>
<![CDATA['.$texte.']]>
</font>
</SCROLL>';

Hors ligne