Reputation: 23
I want to create my own RSS/XML feed. I fetch data from the database to display, but keep getting invalid character errors. If the string has an ampersand or other strange characters in it, the XML will be invalid.
I tried using urlencode and htmlentities, but these don't capture all possible characters which need to be escaped. Does anyone know of a PHP function which will prepare a string for XML output?
Upvotes: 2
Views: 2563
Reputation: 2039
For example:
function html_special_chars($str)
{
return preg_replace(array('/&/', '/"/'), array('&', '"'), $str);
}
Upvotes: 0
Reputation: 196
htmlspecialchars should be enough. But don't forget to set the 3rd parameter (charset) to the character set matching the string charset.
Upvotes: 1