2010-05-10 5 views
2

Je souhaite créer mon propre flux RSS/XML. J'obtiens des données de la base de données à afficher, mais je continue d'obtenir des erreurs de caractères invalides. Si la chaîne a une esperluette ou d'autres caractères étranges, le XML sera invalide.En php, Préparer une chaîne et créer un flux XML/RSS

J'ai essayé d'utiliser urlencode et htmlentities, mais ceux-ci ne capturent pas tous les caractères possibles qui doivent être échappés. Est-ce que quelqu'un sait d'une fonction PHP qui va préparer une chaîne pour la sortie XML?

+0

Voir http://stackoverflow.com/questions/2601699/using-php-script-to-fill-in-xml/2602138#2602138 –

Répondre

1

htmlspecialchars devrait suffire. Mais n'oubliez pas de régler le 3ème paramètre (jeu de caractères) sur le jeu de caractères correspondant au jeu de caractères de la chaîne.

0

Par exemple:

function html_special_chars($str) 
{ 
    return preg_replace(array('/&/', '/"/'), array('&', '"'), $str); 
}