Forum de discussion et d'aide au php
Vous n'êtes pas identifié.
|
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. |
||
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 :
<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
On m'a envoyé vers les xmlentities, mais je ne sais pas trop comment m'y prendre...
Hors ligne
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.
// XML Entity Mandatory Escape Characters
function xmlentities($string) {
return str_replace ( array ( '&', '"', "'", '<', '>', '�' ), array ( '&' , '"', ''' , '<' , '>', ''' ), $string );
}Hors ligne
Hello
Merci pour ta réponse Shiva! j'ai effectivement remplacé addslashes par stripslashes et j'ai rajouté un CDATA dans le bloc xml :
$xml =' <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <SCROLL> <font color="#9AE0FE">ACTUALITE <br> <![CDATA['.$texte.']]> </font> </SCROLL>';
Hors ligne